diff options
Diffstat (limited to 'test/racc/assets/percent.y')
-rw-r--r-- | test/racc/assets/percent.y | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/racc/assets/percent.y b/test/racc/assets/percent.y new file mode 100644 index 0000000000..68d63583ca --- /dev/null +++ b/test/racc/assets/percent.y @@ -0,0 +1,35 @@ +class ScannerChecker +rule + target: A + { + i = 7 + i %= 4 + raise 'assert failed' unless i == 3 + tmp = %-This is percent string.- + raise 'assert failed' unless tmp == 'This is percent string.' + a = 5; b = 3 + assert_equal(2,(a%b)) #A + # assert_equal(2,(a %b)) # is %-string + assert_equal(2,(a% b)) #B + assert_equal(2,(a % b)) #C + } +end + +---- inner ---- + + def parse + @q = [[:A, 'A'], [false, '$']] + do_parse + end + + def next_token + @q.shift + end + + def assert_equal( expect, real ) + raise "expect #{expect.inspect} but #{real.inspect}" unless expect == real + end + +---- footer ---- + +parser = ScannerChecker.new.parse |