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 () | |
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: Merged: https://.com/ruby/ruby/pull/4778
-rw-r--r-- | sample/exyacc.rb | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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!(%r{\*/}, "\003\003") grammar.gsub!(%r{/\*[^\003]*\003\003}, '') while grammar.gsub!(/\{[^{}]*\}/, ''); end |