diff options
author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2023-05-31 17:35:44 +0900 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2023-06-08 17:25:38 +0900 |
commit | d1775aa388bff73ca2d22344d4c3745f23bfe654 (patch) | |
tree | b81f25a36fff5f74a79792e6b54a9bbd48868338 /test/racc/assets/opt.y | |
parent | b90683be44d8821a1a8121b6364d653a47421914 (diff) |
Try to promote racc as bundled gems
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/7877
Diffstat (limited to 'test/racc/assets/opt.y')
-rw-r--r-- | test/racc/assets/opt.y | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/test/racc/assets/opt.y b/test/racc/assets/opt.y deleted file mode 100644 index a011953a51..0000000000 --- a/test/racc/assets/opt.y +++ /dev/null @@ -1,123 +0,0 @@ -# -# check options working -# - -class Calcp - - prechigh - left '*' '/' - left '+' '-' - preclow - - convert - NUMBER 'Number' - end - - options no_omit_action_call no_result_var - -rule - - target : exp | /* none */ { 0 } ; - - exp : exp '+' exp { chk(val[0] + val[2]) } - | exp '-' exp { chk(val[0] - val[2]) } - | exp '*' exp { chk(val[0] * val[2]) } - | exp '/' exp { chk(val[0] / val[2]) } - | '(' { $emb = true } exp ')' - { - raise 'must not happen' unless $emb - val[2] - } - | '-' NUMBER { -val[1] } - | NUMBER - ; - -end - -----header - -class Number; end - -----inner - - def parse( src ) - @src = src - do_parse - end - - def next_token - @src.shift - end - - def initialize - @yydebug = true - end - - def chk( i ) - # p i - i - end - -----footer - -$parser = Calcp.new -$test_number = 1 - -def chk( src, ans ) - result = $parser.parse(src) - raise "test #{$test_number} failed" unless result == ans - $test_number += 1 -end - -chk( - [ [Number, 9], - [false, false], - [false, false] ], 9 -) - -chk( - [ [Number, 5], - ['*', nil], - [Number, 1], - ['-', nil], - [Number, 1], - ['*', nil], - [Number, 8], - [false, false], - [false, false] ], -3 -) - -chk( - [ [Number, 5], - ['+', nil], - [Number, 2], - ['-', nil], - [Number, 5], - ['+', nil], - [Number, 2], - ['-', nil], - [Number, 5], - [false, false], - [false, false] ], -1 -) - -chk( - [ ['-', nil], - [Number, 4], - [false, false], - [false, false] ], -4 -) - -chk( - [ [Number, 7], - ['*', nil], - ['(', nil], - [Number, 4], - ['+', nil], - [Number, 3], - [')', nil], - ['-', nil], - [Number, 9], - [false, false], - [false, false] ], 40 -) |