-
Notifications
You must be signed in to change notification settings - Fork 95
Fix comments in REPL - fixes #78 #79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Can you review this for me @corona10 ? |
Codecov Report
@@ Coverage Diff @@
## master #79 +/- ##
==========================================
+ Coverage 68.65% 68.66% +<.01%
==========================================
Files 59 59
Lines 10525 10528 +3
==========================================
+ Hits 7226 7229 +3
Misses 2790 2790
Partials 509 509
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This patch will fix this issue #78 .
But the input of '#' should be handled as same as below code?
Should we update grammar file for this?
[Gpython dev]
- os/arch: darwin/amd64
- go version: go1.10
>>> def a(): pass
>>>
This is the example of pypy and rustpython. Python 3.6.1 (dab365a465140aa79a5f3ba4db784c4af4d5c195, Feb 18 2019, 10:53:27)
[PyPy 7.0.0-alpha0 with GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.11.45.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
And now for something completely different: ``"it's likely temporary until
forever" arigo''
>>>> #
>>>> #
>>>> Welcome to the magnificent Rust Python 0.1.0 interpreter 😱 🖖
>>>>> #
>>>>> |
And it still doesn't work well on my local laptop with branch
|
Ah you are right this is broken :-( The pypy and rustpython ways of doing it are
Shall I make it work like that? |
@ncw |
Before this change, entering a comment in the REPL caused the REPL to read the comment indefinitely effectively breaking it. After this change the behaviour is the same as pypy. The cpython behaviour is slightly different printing a '...' after a comment line. This is rather illogical and difficult to emulate properly.
OK I did that! PTAL |
Line 375 in 2609237
Can we fix this issue on lexer level approach? |
@ncw |
I think this is good to go now. I don't think fixing it in the lexer is the right place - this is specifically to do with how the REPL works and in particular how the single input grammar works which is a bit strange but it is how the Python grammar is defined. I'll merge this now and if there are any problem with it I'm sure we can fix them up :-) |
Before this change, entering a comment in the REPL caused the REPL to
read the comment indefinitely effectively breaking it.
After this change the behaviour should be exactly the same as python3/