1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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.
This commit is contained in:
Kevin Newton 2021-08-25 09:32:10 -04:00 committed by Aaron Patterson
parent 62bc4a9420
commit f4b88959d5
Notes: git 2021-08-26 10:24:31 +09:00

View file

@ -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