diff options
Diffstat (limited to 'test/racc/assets/yyerr.y')
-rw-r--r-- | test/racc/assets/yyerr.y | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/racc/assets/yyerr.y b/test/racc/assets/yyerr.y new file mode 100644 index 0000000000..9faae89a79 --- /dev/null +++ b/test/racc/assets/yyerr.y @@ -0,0 +1,46 @@ +# +# yyerror/yyerrok/yyaccept test +# + +class A +rule + +target: a b c + +a: + { + yyerror + raise ArgumentError, "yyerror failed" + } + | error + +b: + { + yyerrok + } + +c: + { + yyaccept + raise ArgumentError, "yyaccept failed" + } + +end + +---- inner + + def parse + do_parse + end + + def next_token + [false, '$end'] + end + + def on_error( *args ) + $stderr.puts "on_error called: args=#{args.inspect}" + end + +---- footer + +A.new.parse |