diff options
author | Kevin Newton <[email protected]> | 2021-08-25 09:32:10 -0400 |
---|---|---|
committer | Aaron Patterson <[email protected]> | 2021-08-25 18:23:56 -0700 |
commit | f4b88959d51e02d6253f0132833dc47cf915ffa2 (patch) | |
tree | 401ab73428b0afac6b81ae50d9ffaf821c6b53ed /sample | |
parent | 62bc4a9420fa5786d49391a713bd38b09b8db0ff (diff) |
Clean up lambda output from exyacc.rb
The `lambda_body` grammar rule has a `"}"`, which is throwing off the `exyacc.rb` regular expressions. This changes the regular expression to account for `"}"` as well, which makes the output of `ruby sample/exyacc.rb < parse.y` change by the following diff:
```diff
632,634d631
< ", &@3);
< $$ = $2;
< }
```
Which makes it closer to a valid EBNF.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/4778
Diffstat (limited to 'sample')
-rw-r--r-- | sample/exyacc.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sample/exyacc.rb b/sample/exyacc.rb index 9a9435a0dc..cbcc18d58b 100644 --- a/sample/exyacc.rb +++ b/sample/exyacc.rb @@ -8,7 +8,7 @@ ARGF.each(nil) do |source| grammar = source[sbeg, send-sbeg] grammar.sub!(/.*\n/, "") grammar.gsub!(/'\{'/, "'\001'") - grammar.gsub!(/'\}'/, "'\002'") + grammar.gsub!(/["']\}["']/, "'\002'") grammar.gsub!(%r{\*/}, "\003\003") grammar.gsub!(%r{/\*[^\003]*\003\003}, '') while grammar.gsub!(/\{[^{}]*\}/, ''); end |