tomoya ishida
tomoya ishida
These codes are syntax valid in parse.y ```ruby p{|a: b|} ->(a: b){} ->a: b{} ->a: {} ```
```ruby [a:1,,] [**a,,] ```
These command calls are rejected in parse.y but accepted in prism ```ruby 1 if a = b c 1 and a = b c a = b c and 1...
Fix comment directive parsing problem # Problem of comment parsing The main problem is that `@preprocess.handle` parses comment, removes directive, and process code_object at the same time. This pull request...
Local variable can be a keyword. Fix a bug that IRB doesn't work in this case. ```ruby irb(main):001> {if:1} => {if:} => nil irb(main):002> 1+2 irb(main):003> irb(main):004> (Can't submit input)...
Fix #1080 It is hard to distinguish multiplication from pattern match from tokens. Token `*` are both `[[3, 0], :on_op, "*", BEG]`. ```ruby # x in *
Input termination checker is not working well ``` irb(main):001> x in * irb(main):002> irb(main):003> ```
## Description In this situation, IRB raises UndefinedConversionError ``` [tomoya.ishida:3.2]% echo "IRB.conf[:USE_MULTILINE]=false" > irbrc [tomoya.ishida:3.2]% IRBRC=irbrc LANG=en_US.ASCII ruby -Eutf-8:utf-8 -e "binding.irb" irb(main):001> Readline::VERSION => "8.2" irb(main):002> \343\201\202\343\201\202\343\201\202 /Users/tomoya.ishida/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/irb-1.14.1/lib/irb/history.rb:82:in `write': "\xE3"...
It would be helpful if Prism have an API that works like this. ~~~ruby Prism.parse('1 + [').input_continuable? #=> true Prism.parse('1 + ]').input_continuable? #=> false Prism.parse('tap do').input_continuable? #=> true Prism.parse('end.tap do').input_continuable?...
Parsing `a in [-2**b]` succeeds and executing it crash with this error ``` $ ruby -e "a in [-2**b]" -e: [BUG] Unexpected node type in pattern matching expression: PM_CALL_NODE ruby...