summaryrefslogtreecommitdiff
path: root/test/racc/assets/percent.y
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2019-05-13 21:25:22 +0900
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2019-06-19 18:17:25 +0900
commit1a2546c2be839baa7d0a50dc056d4d6987d26852 (patch)
tree19fef5d8b8d96452a51ab68e8093ea895192ca27 /test/racc/assets/percent.y
parentcbe06cd3501fdadd0e6e63094da2973484d70b0b (diff)
Backport racc-1.4.15 from upstream.
Diffstat (limited to 'test/racc/assets/percent.y')
-rw-r--r--test/racc/assets/percent.y35
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