diff options
author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2019-05-13 21:25:22 +0900 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2019-06-19 18:17:25 +0900 |
commit | 1a2546c2be839baa7d0a50dc056d4d6987d26852 (patch) | |
tree | 19fef5d8b8d96452a51ab68e8093ea895192ca27 /test/racc/assets/percent.y | |
parent | cbe06cd3501fdadd0e6e63094da2973484d70b0b (diff) |
Backport racc-1.4.15 from upstream.
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 |