ibex 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.rubocop.yml +43 -0
- data/CHANGELOG.md +30 -0
- data/LICENSE.txt +21 -0
- data/README.md +194 -0
- data/Rakefile +25 -0
- data/Steepfile +10 -0
- data/docs/architecture.md +99 -0
- data/docs/compat-notes.md +37 -0
- data/docs/grammar-reference.md +127 -0
- data/docs/lexer-coverage.md +14 -0
- data/docs/phase10-extensions.md +27 -0
- data/docs/racc-migration.md +47 -0
- data/exe/ibex +6 -0
- data/gemfiles/Gemfile +7 -0
- data/gemfiles/Gemfile.lock +98 -0
- data/lib/ibex/analysis/sets.rb +194 -0
- data/lib/ibex/analysis.rb +8 -0
- data/lib/ibex/cli/counterexample_options.rb +38 -0
- data/lib/ibex/cli/outputs.rb +88 -0
- data/lib/ibex/cli.rb +333 -0
- data/lib/ibex/codegen/dot.rb +52 -0
- data/lib/ibex/codegen/html.rb +110 -0
- data/lib/ibex/codegen/rbs.rb +54 -0
- data/lib/ibex/codegen/report.rb +149 -0
- data/lib/ibex/codegen/ruby.rb +235 -0
- data/lib/ibex/codegen/symbol_labels.rb +18 -0
- data/lib/ibex/error.rb +7 -0
- data/lib/ibex/frontend/action_scanner.rb +266 -0
- data/lib/ibex/frontend/ast.rb +146 -0
- data/lib/ibex/frontend/bootstrap_parser.rb +163 -0
- data/lib/ibex/frontend/dsl.rb +196 -0
- data/lib/ibex/frontend/generated_parser.rb +434 -0
- data/lib/ibex/frontend/generated_parser_base.rb +273 -0
- data/lib/ibex/frontend/grammar.y +156 -0
- data/lib/ibex/frontend/lexer.rb +165 -0
- data/lib/ibex/frontend/parser/declarations.rb +163 -0
- data/lib/ibex/frontend/parser/rules.rb +154 -0
- data/lib/ibex/frontend/parser.rb +23 -0
- data/lib/ibex/frontend/regenerator.rb +41 -0
- data/lib/ibex/frontend/source_cursor.rb +94 -0
- data/lib/ibex/frontend/token_adapter/declaration_state.rb +248 -0
- data/lib/ibex/frontend/token_adapter/delimiter_tracker.rb +37 -0
- data/lib/ibex/frontend/token_adapter/rule_state.rb +162 -0
- data/lib/ibex/frontend/token_adapter.rb +108 -0
- data/lib/ibex/frontend.rb +28 -0
- data/lib/ibex/ir/automaton_ir.rb +109 -0
- data/lib/ibex/ir/grammar_ir.rb +192 -0
- data/lib/ibex/ir/serialize.rb +154 -0
- data/lib/ibex/ir.rb +53 -0
- data/lib/ibex/lalr/builder.rb +270 -0
- data/lib/ibex/lalr/conflict.rb +120 -0
- data/lib/ibex/lalr/conflict_search.rb +332 -0
- data/lib/ibex/lalr/conflict_search_limits.rb +39 -0
- data/lib/ibex/lalr/counterexample.rb +138 -0
- data/lib/ibex/lalr/default_reductions.rb +67 -0
- data/lib/ibex/lalr.rb +27 -0
- data/lib/ibex/normalize/declarations.rb +60 -0
- data/lib/ibex/normalize/diagnostics.rb +99 -0
- data/lib/ibex/normalize/expander.rb +218 -0
- data/lib/ibex/normalize/expression.rb +54 -0
- data/lib/ibex/normalize.rb +166 -0
- data/lib/ibex/runtime/parser.rb +360 -0
- data/lib/ibex/runtime.rb +8 -0
- data/lib/ibex/tables.rb +125 -0
- data/lib/ibex/version.rb +6 -0
- data/lib/ibex.rb +23 -0
- data/sig/ibex/analysis/sets.rbs +72 -0
- data/sig/ibex/analysis.rbs +6 -0
- data/sig/ibex/cli/counterexample_options.rbs +16 -0
- data/sig/ibex/cli/outputs.rbs +31 -0
- data/sig/ibex/cli.rbs +108 -0
- data/sig/ibex/codegen/dot.rbs +19 -0
- data/sig/ibex/codegen/html.rbs +35 -0
- data/sig/ibex/codegen/rbs.rbs +31 -0
- data/sig/ibex/codegen/report.rbs +39 -0
- data/sig/ibex/codegen/ruby.rbs +92 -0
- data/sig/ibex/codegen/symbol_labels.rbs +11 -0
- data/sig/ibex/error.rbs +7 -0
- data/sig/ibex/frontend/action_scanner.rbs +74 -0
- data/sig/ibex/frontend/ast.rbs +223 -0
- data/sig/ibex/frontend/bootstrap_parser.rbs +80 -0
- data/sig/ibex/frontend/dsl.rbs +124 -0
- data/sig/ibex/frontend/generated_parser.rbs +163 -0
- data/sig/ibex/frontend/generated_parser_base.rbs +114 -0
- data/sig/ibex/frontend/lexer.rbs +61 -0
- data/sig/ibex/frontend/parser/declarations.rbs +56 -0
- data/sig/ibex/frontend/parser/rules.rbs +48 -0
- data/sig/ibex/frontend/parser.rbs +16 -0
- data/sig/ibex/frontend/regenerator.rbs +16 -0
- data/sig/ibex/frontend/source_cursor.rbs +73 -0
- data/sig/ibex/frontend/token_adapter/declaration_state.rbs +97 -0
- data/sig/ibex/frontend/token_adapter/delimiter_tracker.rbs +25 -0
- data/sig/ibex/frontend/token_adapter/rule_state.rbs +77 -0
- data/sig/ibex/frontend/token_adapter.rbs +67 -0
- data/sig/ibex/frontend.rbs +15 -0
- data/sig/ibex/ir/automaton_ir.rbs +77 -0
- data/sig/ibex/ir/grammar_ir.rbs +143 -0
- data/sig/ibex/ir/serialize.rbs +50 -0
- data/sig/ibex/ir.rbs +43 -0
- data/sig/ibex/lalr/builder.rbs +85 -0
- data/sig/ibex/lalr/conflict.rbs +47 -0
- data/sig/ibex/lalr/conflict_search.rbs +131 -0
- data/sig/ibex/lalr/conflict_search_limits.rbs +29 -0
- data/sig/ibex/lalr/counterexample.rbs +53 -0
- data/sig/ibex/lalr/default_reductions.rbs +20 -0
- data/sig/ibex/lalr.rbs +23 -0
- data/sig/ibex/normalize/declarations.rbs +20 -0
- data/sig/ibex/normalize/diagnostics.rbs +32 -0
- data/sig/ibex/normalize/expander.rbs +66 -0
- data/sig/ibex/normalize/expression.rbs +21 -0
- data/sig/ibex/normalize.rbs +96 -0
- data/sig/ibex/runtime/parser.rbs +167 -0
- data/sig/ibex/runtime.rbs +6 -0
- data/sig/ibex/tables.rbs +50 -0
- data/sig/ibex/version.rbs +6 -0
- data/sig/ibex.rbs +6 -0
- metadata +161 -0
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# Generated by Ibex d405a2f1e593
|
|
3
|
+
|
|
4
|
+
require "ibex/runtime"
|
|
5
|
+
require "ibex/tables"
|
|
6
|
+
|
|
7
|
+
module Ibex
|
|
8
|
+
module Frontend
|
|
9
|
+
class GeneratedParser < Ibex::Frontend::GeneratedParserBase
|
|
10
|
+
PARSER_TABLE_FORMAT_VERSION = 1
|
|
11
|
+
TOKEN_IDS = { :CLASS => 2, :TOKEN => 3, :PRECHIGH => 4, :PRECLOW => 5, :OPTIONS => 6, :EXPECT => 7, :START => 8, :CONVERT => 9, :PRAGMA => 10, :RULE => 11, :END => 12, :LEFT => 13, :RIGHT => 14, :NONASSOC => 15, :IDENTIFIER => 16, :LITERAL => 17, :INTEGER => 18, :ACTION => 19, :USER_CODE => 20, :LHS => 21, :SEPARATED_LIST => 22, :SEPARATED_NONEMPTY_LIST => 23, '::' => 61, '<' => 62, ':' => 63, ';' => 64, '|' => 65, '=' => 66, '?' => 67, '*' => 68, '+' => 69, '(' => 70, ')' => 71, ',' => 72 }.freeze
|
|
12
|
+
TOKEN_NAMES = { 0 => "$eof", 1 => "error", 2 => "CLASS", 3 => "TOKEN", 4 => "PRECHIGH", 5 => "PRECLOW", 6 => "OPTIONS", 7 => "EXPECT", 8 => "START", 9 => "CONVERT", 10 => "PRAGMA", 11 => "RULE", 12 => "END", 13 => "LEFT", 14 => "RIGHT", 15 => "NONASSOC", 16 => "IDENTIFIER", 17 => "LITERAL", 18 => "INTEGER", 19 => "ACTION", 20 => "USER_CODE", 21 => "LHS", 22 => "SEPARATED_LIST", 23 => "SEPARATED_NONEMPTY_LIST", 61 => "'::'", 62 => "'<'", 63 => "':'", 64 => "';'", 65 => "'|'", 66 => "'='", 67 => "'?'", 68 => "'*'", 69 => "'+'", 70 => "'('", 71 => "')'", 72 => "','" }.freeze
|
|
13
|
+
ACTIONS = Ibex::Tables::Compact.new(offsets: [0, 16, 1, 0, 360, 530, 28, 33, 539, 394, 491, 34, 601, 550, 500, 303, 144, 559, 38, 9, 298, 39, 610, 619, 628, 637, 646, 655, 664, 515, 337, 221, 573, 673, 466, 685, 685, 363, 10, 6, 18, 215, 703, 735, 740, 754, 344, 759, 712, 587, 721, 369, 58, 394, 0, 30, 773, 375, 236, 258, 407, 54, 103, 115, 415, 221, 15, 16, 0, 397, 423, 233, 255, 290, 21, 267, 97, 635, 801, 809, 12, 71, 701, 58, 775, 26, 27, 24, 36, 777, 97, 779, 787, 789, 791, 858, 866, 109, 121, 133, 799, 194, 39, 40, 312, 324], values: [[:reduce, 70], [:accept], [:shift, 1], [:reduce, 1], [:reduce, 1], [:reduce, 1], [:reduce, 1], [:reduce, 1], [:reduce, 1], [:reduce, 1], [:reduce, 1], [:reduce, 1], [:reduce, 54], nil, nil, nil, [:reduce, 54], [:reduce, 54], [:shift, 54], [:reduce, 54], [:reduce, 70], [:reduce, 54], [:reduce, 54], [:reduce, 54], [:reduce, 56], [:shift, 34], [:shift, 35], [:shift, 38], [:reduce, 56], [:reduce, 56], [:reduce, 37], [:reduce, 56], [:shift, 3], [:reduce, 56], [:reduce, 56], [:reduce, 56], [:reduce, 53], [:shift, 34], [:shift, 35], [:reduce, 37], [:reduce, 53], [:reduce, 53], [:reduce, 38], [:reduce, 53], [:shift, 9], [:reduce, 53], [:reduce, 53], [:reduce, 53], [:reduce, 55], [:shift, 3], [:shift, 13], [:reduce, 38], [:reduce, 55], [:reduce, 55], [:reduce, 0], [:reduce, 55], [:shift, 33], [:reduce, 55], [:reduce, 55], [:reduce, 55], [:shift, 38], [:reduce, 1], [:reduce, 1], [:shift, 81], [:reduce, 54], [:reduce, 54], [:reduce, 54], [:reduce, 54], [:reduce, 54], [:reduce, 54], [:reduce, 54], [:reduce, 54], [:reduce, 54], [:shift, 53], [:shift, 76], [:shift, 57], [:reduce, 56], [:reduce, 56], [:reduce, 56], [:reduce, 56], [:reduce, 56], [:reduce, 56], [:reduce, 56], [:reduce, 56], [:reduce, 56], [:shift, 78], [:shift, 79], [:shift, 88], [:reduce, 53], [:reduce, 53], [:reduce, 53], [:shift, 97], [:shift, 98], [:shift, 99], [:reduce, 53], [:reduce, 53], [:reduce, 53], [:reduce, 71], [:shift, 95], [:shift, 96], [:reduce, 55], [:reduce, 55], [:reduce, 55], [:reduce, 55], [:reduce, 55], [:reduce, 55], [:reduce, 55], [:reduce, 55], [:reduce, 55], [:reduce, 56], [:shift, 104], [:shift, 105], nil, [:reduce, 56], [:reduce, 56], [:reduce, 39], [:reduce, 56], [:reduce, 71], [:reduce, 56], [:reduce, 56], [:reduce, 56], [:reduce, 57], nil, [:shift, 89], [:reduce, 39], [:reduce, 57], [:reduce, 57], [:reduce, 41], [:reduce, 57], [:shift, 90], [:reduce, 57], [:reduce, 57], [:reduce, 57], [:reduce, 58], nil, nil, [:reduce, 41], [:reduce, 58], [:reduce, 58], nil, [:reduce, 58], nil, [:reduce, 58], [:reduce, 58], [:reduce, 58], [:reduce, 59], nil, nil, [:reduce, 18], [:reduce, 59], [:reduce, 59], nil, [:reduce, 59], nil, [:reduce, 59], [:reduce, 59], [:reduce, 59], [:reduce, 18], [:reduce, 18], [:reduce, 18], nil, [:reduce, 56], [:reduce, 56], [:reduce, 56], [:reduce, 56], [:reduce, 56], [:reduce, 56], [:reduce, 56], [:reduce, 56], [:reduce, 56], nil, nil, nil, [:reduce, 57], [:reduce, 57], [:reduce, 57], [:reduce, 57], [:reduce, 57], [:reduce, 57], [:reduce, 57], [:reduce, 57], [:reduce, 57], nil, nil, nil, [:reduce, 58], [:reduce, 58], [:reduce, 58], [:reduce, 58], [:reduce, 58], [:reduce, 58], [:reduce, 58], [:reduce, 58], [:reduce, 58], nil, nil, nil, [:reduce, 59], [:reduce, 59], [:reduce, 59], [:reduce, 59], [:reduce, 59], [:reduce, 59], [:reduce, 59], [:reduce, 59], [:reduce, 59], [:reduce, 60], nil, nil, nil, [:reduce, 60], [:reduce, 60], nil, [:reduce, 60], nil, [:reduce, 60], [:reduce, 60], [:reduce, 60], [:reduce, 34], [:reduce, 34], [:reduce, 34], [:reduce, 34], [:reduce, 34], [:reduce, 34], [:reduce, 34], [:shift, 48], [:reduce, 34], nil, [:reduce, 34], [:reduce, 34], [:reduce, 34], [:reduce, 34], [:reduce, 34], [:reduce, 50], [:shift, 43], [:shift, 44], [:shift, 45], [:reduce, 50], [:reduce, 50], nil, [:reduce, 50], nil, [:reduce, 50], [:reduce, 50], [:reduce, 50], [:reduce, 49], nil, nil, [:reduce, 40], [:reduce, 49], [:reduce, 49], nil, [:reduce, 49], nil, [:reduce, 49], [:reduce, 49], [:reduce, 49], [:reduce, 40], [:reduce, 60], [:reduce, 60], [:reduce, 60], [:shift, 97], [:shift, 98], [:shift, 99], [:reduce, 60], [:reduce, 60], [:reduce, 60], [:reduce, 51], nil, nil, [:reduce, 42], [:reduce, 51], [:reduce, 51], nil, [:reduce, 51], nil, [:reduce, 51], [:reduce, 51], [:reduce, 51], [:reduce, 42], nil, nil, nil, [:reduce, 63], [:reduce, 63], [:reduce, 50], [:reduce, 50], [:reduce, 50], nil, [:reduce, 63], [:reduce, 63], [:reduce, 50], [:reduce, 50], [:reduce, 50], nil, nil, nil, [:reduce, 49], [:reduce, 49], [:reduce, 49], [:shift, 63], [:shift, 64], [:reduce, 52], [:reduce, 49], [:reduce, 49], [:reduce, 49], [:reduce, 52], [:reduce, 52], [:reduce, 18], [:reduce, 52], [:reduce, 28], [:reduce, 52], [:reduce, 52], [:reduce, 52], [:reduce, 28], [:reduce, 28], [:reduce, 18], [:reduce, 18], [:reduce, 18], [:reduce, 51], [:reduce, 51], [:reduce, 51], [:reduce, 42], [:reduce, 42], [:reduce, 68], [:reduce, 51], [:reduce, 51], [:reduce, 51], [:reduce, 68], [:reduce, 68], nil, [:reduce, 68], [:reduce, 63], [:reduce, 68], [:reduce, 68], [:reduce, 68], [:reduce, 69], [:reduce, 63], [:reduce, 63], nil, [:reduce, 69], [:reduce, 69], [:shift, 42], [:reduce, 69], nil, [:reduce, 69], [:reduce, 69], [:reduce, 69], [:reduce, 19], [:reduce, 19], [:shift, 43], [:shift, 44], [:shift, 45], nil, [:reduce, 52], [:reduce, 52], [:reduce, 52], [:reduce, 19], [:reduce, 19], [:reduce, 19], [:reduce, 52], [:reduce, 52], [:reduce, 52], [:reduce, 3], [:reduce, 3], [:reduce, 3], [:reduce, 3], [:reduce, 3], [:reduce, 3], [:reduce, 3], [:reduce, 3], [:reduce, 3], nil, nil, nil, [:shift, 50], [:reduce, 68], [:reduce, 68], [:reduce, 68], [:shift, 34], [:shift, 35], [:reduce, 29], [:reduce, 68], [:reduce, 68], [:reduce, 68], [:reduce, 29], [:reduce, 29], [:reduce, 30], [:reduce, 69], [:reduce, 69], [:reduce, 69], [:reduce, 30], [:reduce, 30], nil, [:reduce, 69], [:reduce, 69], [:reduce, 69], [:reduce, 2], [:reduce, 2], [:reduce, 2], [:reduce, 2], [:reduce, 2], [:reduce, 2], [:reduce, 2], [:reduce, 2], [:reduce, 2], [:reduce, 47], nil, nil, [:reduce, 44], [:reduce, 47], [:reduce, 47], nil, [:reduce, 47], nil, [:reduce, 47], [:reduce, 47], [:reduce, 47], [:reduce, 44], [:reduce, 45], nil, [:shift, 6], [:shift, 7], [:shift, 34], [:shift, 35], nil, [:shift, 65], [:reduce, 47], [:reduce, 45], [:shift, 66], [:shift, 67], [:reduce, 47], [:reduce, 47], nil, [:reduce, 47], [:reduce, 48], [:reduce, 47], [:reduce, 47], [:reduce, 47], [:reduce, 48], [:reduce, 48], nil, [:reduce, 48], nil, [:reduce, 48], [:reduce, 48], [:reduce, 48], nil, nil, nil, nil, nil, nil, nil, nil, [:reduce, 2], [:reduce, 2], nil, [:reduce, 47], [:reduce, 47], [:reduce, 47], [:reduce, 44], [:reduce, 44], nil, [:reduce, 47], nil, [:error], [:error], [:error], nil, nil, [:reduce, 45], [:reduce, 45], [:shift, 74], nil, nil, [:error], [:shift, 75], nil, [:reduce, 47], [:reduce, 47], [:reduce, 47], nil, nil, [:error], [:reduce, 47], [:error], [:reduce, 48], [:reduce, 48], [:reduce, 48], nil, nil, nil, [:reduce, 48], [:reduce, 4], [:reduce, 4], [:reduce, 4], [:reduce, 4], [:reduce, 4], [:reduce, 4], [:reduce, 4], [:reduce, 4], [:reduce, 4], [:reduce, 33], [:reduce, 33], [:reduce, 33], [:reduce, 33], [:reduce, 33], [:reduce, 33], [:reduce, 33], nil, [:reduce, 33], nil, nil, nil, nil, [:reduce, 33], [:reduce, 33], [:reduce, 15], [:reduce, 15], [:reduce, 15], [:reduce, 15], [:reduce, 15], [:reduce, 15], [:reduce, 15], nil, [:reduce, 15], [:error], [:error], nil, nil, [:shift, 34], [:shift, 35], [:reduce, 5], [:reduce, 5], [:reduce, 5], [:reduce, 5], [:reduce, 5], [:reduce, 5], [:reduce, 5], [:reduce, 5], [:reduce, 5], [:reduce, 7], [:reduce, 7], [:reduce, 7], [:reduce, 7], [:reduce, 7], [:reduce, 7], [:reduce, 7], [:shift, 11], [:reduce, 7], nil, [:shift, 6], [:reduce, 6], [:reduce, 6], [:reduce, 6], [:reduce, 6], [:reduce, 6], [:reduce, 6], [:reduce, 6], [:reduce, 6], [:reduce, 6], [:reduce, 31], [:reduce, 31], [:reduce, 31], [:reduce, 31], [:reduce, 31], [:reduce, 31], [:reduce, 31], nil, [:reduce, 31], nil, nil, nil, nil, [:reduce, 31], [:reduce, 24], [:reduce, 24], [:reduce, 24], [:reduce, 24], [:reduce, 24], [:reduce, 24], [:reduce, 24], nil, [:reduce, 24], nil, nil, nil, nil, [:shift, 49], [:reduce, 32], [:reduce, 32], [:reduce, 32], [:reduce, 32], [:reduce, 32], [:reduce, 32], [:reduce, 32], nil, [:reduce, 32], nil, nil, nil, nil, [:reduce, 32], [:shift, 14], [:shift, 15], [:shift, 16], [:shift, 17], [:shift, 18], [:shift, 19], [:shift, 20], nil, [:shift, 21], [:reduce, 8], [:reduce, 8], [:reduce, 8], [:reduce, 8], [:reduce, 8], [:reduce, 8], [:reduce, 8], nil, [:reduce, 8], [:reduce, 9], [:reduce, 9], [:reduce, 9], [:reduce, 9], [:reduce, 9], [:reduce, 9], [:reduce, 9], nil, [:reduce, 9], [:reduce, 10], [:reduce, 10], [:reduce, 10], [:reduce, 10], [:reduce, 10], [:reduce, 10], [:reduce, 10], nil, [:reduce, 10], [:reduce, 11], [:reduce, 11], [:reduce, 11], [:reduce, 11], [:reduce, 11], [:reduce, 11], [:reduce, 11], [:reduce, 43], [:reduce, 11], [:reduce, 12], [:reduce, 12], [:reduce, 12], [:reduce, 12], [:reduce, 12], [:reduce, 12], [:reduce, 12], [:reduce, 43], [:reduce, 12], [:reduce, 13], [:reduce, 13], [:reduce, 13], [:reduce, 13], [:reduce, 13], [:reduce, 13], [:reduce, 13], nil, [:reduce, 13], [:reduce, 14], [:reduce, 14], [:reduce, 14], [:reduce, 14], [:reduce, 14], [:reduce, 14], [:reduce, 14], nil, [:reduce, 14], [:reduce, 25], [:reduce, 25], [:reduce, 25], [:reduce, 25], [:reduce, 25], [:reduce, 25], [:reduce, 25], nil, [:reduce, 25], [:error], [:error], [:error], [:reduce, 26], [:reduce, 26], [:reduce, 26], [:reduce, 26], [:reduce, 26], [:reduce, 26], [:reduce, 26], [:error], [:reduce, 26], nil, nil, [:reduce, 43], [:reduce, 43], nil, nil, [:error], nil, [:error], [:reduce, 16], [:reduce, 16], [:reduce, 16], [:reduce, 16], [:reduce, 16], [:reduce, 16], [:reduce, 16], [:reduce, 46], [:reduce, 16], [:reduce, 17], [:reduce, 17], [:reduce, 17], [:reduce, 17], [:reduce, 17], [:reduce, 17], [:reduce, 17], [:reduce, 46], [:reduce, 17], [:reduce, 27], [:reduce, 27], [:reduce, 27], [:reduce, 27], [:reduce, 27], [:reduce, 27], [:reduce, 27], nil, [:reduce, 27], nil, nil, nil, nil, nil, nil, [:reduce, 21], [:reduce, 21], nil, nil, nil, [:reduce, 22], [:reduce, 22], [:error], [:error], [:reduce, 21], [:reduce, 21], [:reduce, 21], [:reduce, 21], [:reduce, 21], [:reduce, 22], [:reduce, 22], [:reduce, 22], [:reduce, 22], [:reduce, 22], [:reduce, 23], [:reduce, 23], nil, nil, nil, [:reduce, 33], [:reduce, 33], [:reduce, 46], [:reduce, 46], [:reduce, 23], [:reduce, 23], [:reduce, 23], [:reduce, 23], [:reduce, 23], [:reduce, 33], [:reduce, 33], [:reduce, 33], [:reduce, 33], [:reduce, 33], [:reduce, 20], [:reduce, 20], nil, nil, nil, nil, nil, nil, nil, [:reduce, 20], [:reduce, 20], [:reduce, 20], [:shift, 34], [:shift, 35], [:shift, 34], [:shift, 35], [:reduce, 63], [:reduce, 63], [:reduce, 65], [:reduce, 65], [:shift, 66], [:shift, 67], [:reduce, 63], [:reduce, 63], [:reduce, 65], [:reduce, 65], [:reduce, 66], [:reduce, 66], [:reduce, 64], [:reduce, 64], [:reduce, 67], [:reduce, 67], [:reduce, 66], [:reduce, 66], [:reduce, 64], [:reduce, 64], [:reduce, 67], [:reduce, 67], [:shift, 34], [:shift, 35], [:shift, 34], [:shift, 35], nil, [:shift, 65], [:shift, 66], [:shift, 67], [:shift, 66], [:shift, 67], [:shift, 34], [:shift, 35], nil, [:shift, 65], nil, nil, [:shift, 66], [:shift, 67], nil, nil, nil, nil, nil, nil, nil, [:reduce, 61], nil, [:reduce, 63], nil, [:reduce, 65], [:shift, 75], [:reduce, 61], [:reduce, 63], [:reduce, 63], [:reduce, 65], [:reduce, 65], nil, [:reduce, 66], nil, [:reduce, 64], nil, [:reduce, 67], [:reduce, 66], [:reduce, 66], [:reduce, 64], [:reduce, 64], [:reduce, 67], [:reduce, 67], nil, [:reduce, 62], nil, nil, nil, nil, [:shift, 75], [:reduce, 62], [:shift, 75], nil, nil, [:shift, 34], [:shift, 35], nil, [:shift, 65], nil, [:shift, 75], [:shift, 66], [:shift, 67], [:shift, 34], [:shift, 35], nil, [:shift, 65], nil, nil, [:shift, 66], [:shift, 67], nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, [:shift, 75], nil, nil, nil, nil, nil, nil, nil, [:shift, 75]], checks: [54, 2, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 68, nil, nil, nil, 68, 68, 39, 68, 54, 68, 68, 68, 80, 19, 19, 39, 80, 80, 40, 80, 1, 80, 80, 80, 87, 74, 74, 40, 87, 87, 55, 87, 6, 87, 87, 87, 88, 7, 11, 55, 88, 88, 61, 88, 18, 88, 88, 88, 21, 3, 3, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 38, 61, 52, 80, 80, 80, 80, 80, 80, 80, 80, 80, 66, 67, 81, 87, 87, 87, 87, 87, 87, 87, 87, 87, 76, 85, 86, 88, 88, 88, 88, 88, 88, 88, 88, 88, 90, 102, 103, nil, 90, 90, 62, 90, 76, 90, 90, 90, 97, nil, 83, 62, 97, 97, 63, 97, 83, 97, 97, 97, 98, nil, nil, 63, 98, 98, nil, 98, nil, 98, 98, 98, 99, nil, nil, 16, 99, 99, nil, 99, nil, 99, 99, 99, 16, 16, 16, nil, 90, 90, 90, 90, 90, 90, 90, 90, 90, nil, nil, nil, 97, 97, 97, 97, 97, 97, 97, 97, 97, nil, nil, nil, 98, 98, 98, 98, 98, 98, 98, 98, 98, nil, nil, nil, 99, 99, 99, 99, 99, 99, 99, 99, 99, 101, nil, nil, nil, 101, 101, nil, 101, nil, 101, 101, 101, 41, 41, 41, 41, 41, 41, 41, 31, 41, nil, 41, 41, 41, 41, 41, 65, 31, 31, 31, 65, 65, nil, 65, nil, 65, 65, 65, 71, nil, nil, 58, 71, 71, nil, 71, nil, 71, 71, 71, 58, 101, 101, 101, 101, 101, 101, 101, 101, 101, 72, nil, nil, 59, 72, 72, nil, 72, nil, 72, 72, 72, 59, nil, nil, nil, 75, 75, 65, 65, 65, nil, 75, 75, 65, 65, 65, nil, nil, nil, 71, 71, 71, 58, 58, 73, 71, 71, 71, 73, 73, 15, 73, 20, 73, 73, 73, 20, 20, 15, 15, 15, 72, 72, 72, 59, 59, 104, 72, 72, 72, 104, 104, nil, 104, 75, 104, 104, 104, 105, 75, 75, nil, 105, 105, 30, 105, nil, 105, 105, 105, 46, 46, 30, 30, 30, nil, 73, 73, 73, 46, 46, 46, 73, 73, 73, 4, 4, 4, 4, 4, 4, 4, 4, 4, nil, nil, nil, 37, 104, 104, 104, 37, 37, 51, 104, 104, 104, 51, 51, 57, 105, 105, 105, 57, 57, nil, 105, 105, 105, 9, 9, 9, 9, 9, 9, 9, 9, 9, 53, nil, nil, 69, 53, 53, nil, 53, nil, 53, 53, 53, 69, 60, nil, 4, 4, 60, 60, nil, 60, 64, 60, 60, 60, 64, 64, nil, 64, 70, 64, 64, 64, 70, 70, nil, 70, nil, 70, 70, 70, nil, nil, nil, nil, nil, nil, nil, nil, 9, 9, nil, 53, 53, 53, 69, 69, nil, 53, nil, 34, 34, 34, nil, nil, 60, 60, 60, nil, nil, 34, 60, nil, 64, 64, 64, nil, nil, 34, 64, 34, 70, 70, 70, nil, nil, nil, 70, 10, 10, 10, 10, 10, 10, 10, 10, 10, 14, 14, 14, 14, 14, 14, 14, nil, 14, nil, nil, nil, nil, 14, 14, 29, 29, 29, 29, 29, 29, 29, nil, 29, 34, 34, nil, nil, 29, 29, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 8, 8, 8, 8, 8, 8, 8, 8, nil, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 17, 17, 17, 17, 17, 17, 17, nil, 17, nil, nil, nil, nil, 17, 32, 32, 32, 32, 32, 32, 32, nil, 32, nil, nil, nil, nil, 32, 49, 49, 49, 49, 49, 49, 49, nil, 49, nil, nil, nil, nil, 49, 12, 12, 12, 12, 12, 12, 12, nil, 12, 22, 22, 22, 22, 22, 22, 22, nil, 22, 23, 23, 23, 23, 23, 23, 23, nil, 23, 24, 24, 24, 24, 24, 24, 24, nil, 24, 25, 25, 25, 25, 25, 25, 25, 77, 25, 26, 26, 26, 26, 26, 26, 26, 77, 26, 27, 27, 27, 27, 27, 27, 27, nil, 27, 28, 28, 28, 28, 28, 28, 28, nil, 28, 33, 33, 33, 33, 33, 33, 33, nil, 33, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 35, 36, nil, nil, 77, 77, nil, nil, 35, nil, 35, 42, 42, 42, 42, 42, 42, 42, 82, 42, 48, 48, 48, 48, 48, 48, 48, 82, 48, 50, 50, 50, 50, 50, 50, 50, nil, 50, nil, nil, nil, nil, nil, nil, 43, 43, nil, nil, nil, 44, 44, 35, 35, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 45, 45, nil, nil, nil, 47, 47, 82, 82, 45, 45, 45, 45, 45, 47, 47, 47, 47, 47, 56, 56, nil, nil, nil, nil, nil, nil, nil, 56, 56, 56, 56, 56, 84, 84, 89, 89, 91, 91, 84, 84, 89, 89, 91, 91, 92, 92, 93, 93, 94, 94, 92, 92, 93, 93, 94, 94, 100, 100, 78, 78, nil, 78, 100, 100, 78, 78, 79, 79, nil, 79, nil, nil, 79, 79, nil, nil, nil, nil, nil, nil, nil, 84, nil, 89, nil, 91, 84, 84, 89, 89, 91, 91, nil, 92, nil, 93, nil, 94, 92, 92, 93, 93, 94, 94, nil, 100, nil, nil, nil, nil, 100, 100, 78, nil, nil, 95, 95, nil, 95, nil, 79, 95, 95, 96, 96, nil, 96, nil, nil, 96, 96, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 95, nil, nil, nil, nil, nil, nil, nil, 96], row_count: 106)
|
|
14
|
+
GOTOS = Ibex::Tables::Compact.new(offsets: [0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 14, 28, 25, 0, 45, 50, 18, 0, 0, 0, 0, 0, 0, 0, 47, 0, 6, 0, 0, 0, 0, 0, 1, 0, 47, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 35, 0, 53, 0, 53, 0, 0, 0, 0, 0, 36, 0, 0, 0, 47, 0, 0, 0, 0, 0, 58, 19, 0, 0, 2, 13, 48, 0, 0, 0, 15, 0, 0, 0, 0, 46, 50, 0, 0, 0, 0, 26, 28, 0, 0, 0, 39, 0, 0, 0, 0, 0], values: [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 2, 4, 5, 8, 10, 22, 23, 24, 12, 46, 47, 25, 26, 27, 28, 46, 47, 51, 29, 68, 52, 68, 30, 58, 59, 69, 60, 70, 71, 85, 71, 72, 68, 72, 68, 73, 31, 73, 39, 40, 86, 71, 32, 91, 72, 68, 92, 68, 73, 93, 94, 83, 84, 102, 71, 103, 71, 72, 68, 72, 77, 73, 60, 73, 36, 37, 41, 91, 55, 56, 92, 61, 41, 93, 94, 62, 80, 82, 87, 100, 101], checks: [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 0, 1, 4, 5, 7, 12, 12, 12, 8, 30, 30, 12, 12, 12, 12, 31, 31, 37, 14, 60, 37, 78, 15, 53, 53, 60, 53, 60, 60, 78, 78, 60, 79, 78, 84, 60, 16, 78, 21, 21, 79, 79, 17, 84, 79, 95, 84, 96, 79, 84, 84, 75, 75, 95, 95, 96, 96, 95, 100, 96, 64, 95, 64, 96, 19, 20, 29, 100, 39, 47, 100, 54, 56, 100, 100, 58, 68, 74, 80, 89, 90], row_count: 106)
|
|
15
|
+
DEFAULT_ACTIONS = [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, [:reduce, 35], [:reduce, 36], nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil].freeze
|
|
16
|
+
PRODUCTIONS = [{ lhs: 24, length: 9, action: :_ibex_action_0 }, { lhs: 25, length: 1, action: :_ibex_action_1 }, { lhs: 25, length: 3, action: :_ibex_action_2 }, { lhs: 26, length: 0, action: :_ibex_action_3 }, { lhs: 26, length: 2, action: :_ibex_action_4 }, { lhs: 27, length: 0, action: nil }, { lhs: 27, length: 3, action: nil }, { lhs: 28, length: 0, action: :_ibex_action_7 }, { lhs: 28, length: 2, action: :_ibex_action_8 }, { lhs: 29, length: 1, action: :_ibex_action_9 }, { lhs: 29, length: 1, action: :_ibex_action_10 }, { lhs: 29, length: 1, action: :_ibex_action_11 }, { lhs: 29, length: 1, action: :_ibex_action_12 }, { lhs: 29, length: 1, action: :_ibex_action_13 }, { lhs: 29, length: 1, action: :_ibex_action_14 }, { lhs: 30, length: 2, action: :_ibex_action_15 }, { lhs: 31, length: 3, action: :_ibex_action_16 }, { lhs: 31, length: 3, action: :_ibex_action_17 }, { lhs: 32, length: 0, action: :_ibex_action_18 }, { lhs: 32, length: 2, action: :_ibex_action_19 }, { lhs: 33, length: 2, action: :_ibex_action_20 }, { lhs: 34, length: 1, action: :_ibex_action_21 }, { lhs: 34, length: 1, action: :_ibex_action_22 }, { lhs: 34, length: 1, action: :_ibex_action_23 }, { lhs: 35, length: 2, action: :_ibex_action_24 }, { lhs: 36, length: 2, action: :_ibex_action_25 }, { lhs: 37, length: 2, action: :_ibex_action_26 }, { lhs: 38, length: 3, action: :_ibex_action_27 }, { lhs: 39, length: 0, action: :_ibex_action_28 }, { lhs: 39, length: 2, action: :_ibex_action_29 }, { lhs: 40, length: 2, action: :_ibex_action_30 }, { lhs: 41, length: 0, action: :_ibex_action_31 }, { lhs: 41, length: 2, action: :_ibex_action_32 }, { lhs: 42, length: 0, action: :_ibex_action_33 }, { lhs: 42, length: 2, action: :_ibex_action_34 }, { lhs: 43, length: 1, action: :_ibex_action_35 }, { lhs: 43, length: 1, action: :_ibex_action_36 }, { lhs: 44, length: 1, action: :_ibex_action_37 }, { lhs: 44, length: 2, action: :_ibex_action_38 }, { lhs: 45, length: 4, action: :_ibex_action_39 }, { lhs: 46, length: 0, action: nil }, { lhs: 46, length: 1, action: nil }, { lhs: 47, length: 1, action: :_ibex_action_42 }, { lhs: 47, length: 3, action: :_ibex_action_43 }, { lhs: 48, length: 2, action: :_ibex_action_44 }, { lhs: 49, length: 0, action: :_ibex_action_45 }, { lhs: 49, length: 2, action: :_ibex_action_46 }, { lhs: 50, length: 0, action: :_ibex_action_47 }, { lhs: 50, length: 2, action: :_ibex_action_48 }, { lhs: 51, length: 1, action: :_ibex_action_49 }, { lhs: 51, length: 1, action: :_ibex_action_50 }, { lhs: 51, length: 1, action: :_ibex_action_51 }, { lhs: 51, length: 1, action: :_ibex_action_52 }, { lhs: 52, length: 3, action: :_ibex_action_53 }, { lhs: 53, length: 0, action: :_ibex_action_54 }, { lhs: 53, length: 2, action: :_ibex_action_55 }, { lhs: 54, length: 0, action: :_ibex_action_56 }, { lhs: 54, length: 2, action: :_ibex_action_57 }, { lhs: 54, length: 2, action: :_ibex_action_58 }, { lhs: 54, length: 2, action: :_ibex_action_59 }, { lhs: 55, length: 4, action: :_ibex_action_60 }, { lhs: 56, length: 1, action: :_ibex_action_61 }, { lhs: 56, length: 3, action: :_ibex_action_62 }, { lhs: 57, length: 0, action: :_ibex_action_63 }, { lhs: 57, length: 2, action: :_ibex_action_64 }, { lhs: 58, length: 1, action: :_ibex_action_65 }, { lhs: 58, length: 1, action: :_ibex_action_66 }, { lhs: 58, length: 1, action: :_ibex_action_67 }, { lhs: 59, length: 6, action: :_ibex_action_68 }, { lhs: 59, length: 6, action: :_ibex_action_69 }, { lhs: 60, length: 0, action: :_ibex_action_70 }, { lhs: 60, length: 2, action: :_ibex_action_71 }].freeze
|
|
17
|
+
PARSER_TABLES = { format_version: PARSER_TABLE_FORMAT_VERSION,
|
|
18
|
+
tokens: TOKEN_IDS, token_names: TOKEN_NAMES, actions: ACTIONS,
|
|
19
|
+
gotos: GOTOS, default_actions: DEFAULT_ACTIONS,
|
|
20
|
+
productions: PRODUCTIONS }.freeze
|
|
21
|
+
def self.parser_tables = PARSER_TABLES
|
|
22
|
+
DEBUG_ENABLED = false
|
|
23
|
+
|
|
24
|
+
private def _ibex_action_0(val, _values)
|
|
25
|
+
result = val[0]
|
|
26
|
+
result = build_root(val[0], val[1], val[2], val[4], val[6], val[8])
|
|
27
|
+
result
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
private def _ibex_action_1(val, _values)
|
|
31
|
+
result = val[0]
|
|
32
|
+
result = [val[0].value]
|
|
33
|
+
result
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
private def _ibex_action_2(val, _values)
|
|
37
|
+
result = val[0]
|
|
38
|
+
result = val[0] + [val[2].value]
|
|
39
|
+
result
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
private def _ibex_action_3(val, _values)
|
|
43
|
+
result = val[0]
|
|
44
|
+
result = nil
|
|
45
|
+
result
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
private def _ibex_action_4(val, _values)
|
|
49
|
+
result = val[0]
|
|
50
|
+
result = val[1]
|
|
51
|
+
result
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
private def _ibex_action_7(val, _values)
|
|
55
|
+
result = val[0]
|
|
56
|
+
result = Array.new(0)
|
|
57
|
+
result
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
private def _ibex_action_8(val, _values)
|
|
61
|
+
result = val[0]
|
|
62
|
+
result = val[0] + [val[1]]
|
|
63
|
+
result
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
private def _ibex_action_9(val, _values)
|
|
67
|
+
result = val[0]
|
|
68
|
+
result = val[0]
|
|
69
|
+
result
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
private def _ibex_action_10(val, _values)
|
|
73
|
+
result = val[0]
|
|
74
|
+
result = val[0]
|
|
75
|
+
result
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
private def _ibex_action_11(val, _values)
|
|
79
|
+
result = val[0]
|
|
80
|
+
result = val[0]
|
|
81
|
+
result
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
private def _ibex_action_12(val, _values)
|
|
85
|
+
result = val[0]
|
|
86
|
+
result = val[0]
|
|
87
|
+
result
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
private def _ibex_action_13(val, _values)
|
|
91
|
+
result = val[0]
|
|
92
|
+
result = val[0]
|
|
93
|
+
result
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
private def _ibex_action_14(val, _values)
|
|
97
|
+
result = val[0]
|
|
98
|
+
result = val[0]
|
|
99
|
+
result
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
private def _ibex_action_15(val, _values)
|
|
103
|
+
result = val[0]
|
|
104
|
+
result = build_tokens(val[0], val[1])
|
|
105
|
+
result
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
private def _ibex_action_16(val, _values)
|
|
109
|
+
result = val[0]
|
|
110
|
+
result = build_precedence(val[0], :high_to_low, val[1])
|
|
111
|
+
result
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
private def _ibex_action_17(val, _values)
|
|
115
|
+
result = val[0]
|
|
116
|
+
result = build_precedence(val[0], :low_to_high, val[1])
|
|
117
|
+
result
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
private def _ibex_action_18(val, _values)
|
|
121
|
+
result = val[0]
|
|
122
|
+
result = Array.new(0)
|
|
123
|
+
result
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
private def _ibex_action_19(val, _values)
|
|
127
|
+
result = val[0]
|
|
128
|
+
result = val[0] + [val[1]]
|
|
129
|
+
result
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
private def _ibex_action_20(val, _values)
|
|
133
|
+
result = val[0]
|
|
134
|
+
result = build_precedence_level(val[0], val[1])
|
|
135
|
+
result
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
private def _ibex_action_21(val, _values)
|
|
139
|
+
result = val[0]
|
|
140
|
+
result = val[0]
|
|
141
|
+
result
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
private def _ibex_action_22(val, _values)
|
|
145
|
+
result = val[0]
|
|
146
|
+
result = val[0]
|
|
147
|
+
result
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
private def _ibex_action_23(val, _values)
|
|
151
|
+
result = val[0]
|
|
152
|
+
result = val[0]
|
|
153
|
+
result
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
private def _ibex_action_24(val, _values)
|
|
157
|
+
result = val[0]
|
|
158
|
+
result = build_options(val[0], val[1])
|
|
159
|
+
result
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
private def _ibex_action_25(val, _values)
|
|
163
|
+
result = val[0]
|
|
164
|
+
result = build_expect(val[0], val[1])
|
|
165
|
+
result
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
private def _ibex_action_26(val, _values)
|
|
169
|
+
result = val[0]
|
|
170
|
+
result = build_start(val[0], val[1].value)
|
|
171
|
+
result
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
private def _ibex_action_27(val, _values)
|
|
175
|
+
result = val[0]
|
|
176
|
+
result = build_convert(val[0], val[1])
|
|
177
|
+
result
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
private def _ibex_action_28(val, _values)
|
|
181
|
+
result = val[0]
|
|
182
|
+
result = Array.new(0)
|
|
183
|
+
result
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
private def _ibex_action_29(val, _values)
|
|
187
|
+
result = val[0]
|
|
188
|
+
result = val[0] + [val[1]]
|
|
189
|
+
result
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
private def _ibex_action_30(val, _values)
|
|
193
|
+
result = val[0]
|
|
194
|
+
result = build_conversion(val[0], val[1])
|
|
195
|
+
result
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
private def _ibex_action_31(val, _values)
|
|
199
|
+
result = val[0]
|
|
200
|
+
result = Array.new(0)
|
|
201
|
+
result
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
private def _ibex_action_32(val, _values)
|
|
205
|
+
result = val[0]
|
|
206
|
+
result = val[0] + [val[1].value]
|
|
207
|
+
result
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
private def _ibex_action_33(val, _values)
|
|
211
|
+
result = val[0]
|
|
212
|
+
result = Array.new(0)
|
|
213
|
+
result
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
private def _ibex_action_34(val, _values)
|
|
217
|
+
result = val[0]
|
|
218
|
+
result = val[0] + [val[1].value]
|
|
219
|
+
result
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
private def _ibex_action_35(val, _values)
|
|
223
|
+
result = val[0]
|
|
224
|
+
result = val[0]
|
|
225
|
+
result
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
private def _ibex_action_36(val, _values)
|
|
229
|
+
result = val[0]
|
|
230
|
+
result = val[0]
|
|
231
|
+
result
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
private def _ibex_action_37(val, _values)
|
|
235
|
+
result = val[0]
|
|
236
|
+
result = [val[0]]
|
|
237
|
+
result
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
private def _ibex_action_38(val, _values)
|
|
241
|
+
result = val[0]
|
|
242
|
+
result = val[0] + [val[1]]
|
|
243
|
+
result
|
|
244
|
+
end
|
|
245
|
+
|
|
246
|
+
private def _ibex_action_39(val, _values)
|
|
247
|
+
result = val[0]
|
|
248
|
+
result = build_rule(val[0], val[2])
|
|
249
|
+
result
|
|
250
|
+
end
|
|
251
|
+
|
|
252
|
+
private def _ibex_action_42(val, _values)
|
|
253
|
+
result = val[0]
|
|
254
|
+
result = [val[0]]
|
|
255
|
+
result
|
|
256
|
+
end
|
|
257
|
+
|
|
258
|
+
private def _ibex_action_43(val, _values)
|
|
259
|
+
result = val[0]
|
|
260
|
+
result = val[0] + [val[2]]
|
|
261
|
+
result
|
|
262
|
+
end
|
|
263
|
+
|
|
264
|
+
private def _ibex_action_44(val, _values)
|
|
265
|
+
result = val[0]
|
|
266
|
+
result = build_alternative(val[0], val[1])
|
|
267
|
+
result
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
private def _ibex_action_45(val, _values)
|
|
271
|
+
result = val[0]
|
|
272
|
+
result = nil
|
|
273
|
+
result
|
|
274
|
+
end
|
|
275
|
+
|
|
276
|
+
private def _ibex_action_46(val, _values)
|
|
277
|
+
result = val[0]
|
|
278
|
+
result = val[1]
|
|
279
|
+
result
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
private def _ibex_action_47(val, _values)
|
|
283
|
+
result = val[0]
|
|
284
|
+
result = Array.new(0)
|
|
285
|
+
result
|
|
286
|
+
end
|
|
287
|
+
|
|
288
|
+
private def _ibex_action_48(val, _values)
|
|
289
|
+
result = val[0]
|
|
290
|
+
result = val[0] + [val[1]]
|
|
291
|
+
result
|
|
292
|
+
end
|
|
293
|
+
|
|
294
|
+
private def _ibex_action_49(val, _values)
|
|
295
|
+
result = val[0]
|
|
296
|
+
result = val[0]
|
|
297
|
+
result
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
private def _ibex_action_50(val, _values)
|
|
301
|
+
result = val[0]
|
|
302
|
+
result = build_action(val[0])
|
|
303
|
+
result
|
|
304
|
+
end
|
|
305
|
+
|
|
306
|
+
private def _ibex_action_51(val, _values)
|
|
307
|
+
result = val[0]
|
|
308
|
+
result = val[0]
|
|
309
|
+
result
|
|
310
|
+
end
|
|
311
|
+
|
|
312
|
+
private def _ibex_action_52(val, _values)
|
|
313
|
+
result = val[0]
|
|
314
|
+
result = val[0]
|
|
315
|
+
result
|
|
316
|
+
end
|
|
317
|
+
|
|
318
|
+
private def _ibex_action_53(val, _values)
|
|
319
|
+
result = val[0]
|
|
320
|
+
result = build_symbol_reference(val[0], val[1], val[2])
|
|
321
|
+
result
|
|
322
|
+
end
|
|
323
|
+
|
|
324
|
+
private def _ibex_action_54(val, _values)
|
|
325
|
+
result = val[0]
|
|
326
|
+
result = nil
|
|
327
|
+
result
|
|
328
|
+
end
|
|
329
|
+
|
|
330
|
+
private def _ibex_action_55(val, _values)
|
|
331
|
+
result = val[0]
|
|
332
|
+
result = [val[0], val[1]]
|
|
333
|
+
result
|
|
334
|
+
end
|
|
335
|
+
|
|
336
|
+
private def _ibex_action_56(val, _values)
|
|
337
|
+
result = val[0]
|
|
338
|
+
result = Array.new(0)
|
|
339
|
+
result
|
|
340
|
+
end
|
|
341
|
+
|
|
342
|
+
private def _ibex_action_57(val, _values)
|
|
343
|
+
result = val[0]
|
|
344
|
+
result = val[0] + [val[1]]
|
|
345
|
+
result
|
|
346
|
+
end
|
|
347
|
+
|
|
348
|
+
private def _ibex_action_58(val, _values)
|
|
349
|
+
result = val[0]
|
|
350
|
+
result = val[0] + [val[1]]
|
|
351
|
+
result
|
|
352
|
+
end
|
|
353
|
+
|
|
354
|
+
private def _ibex_action_59(val, _values)
|
|
355
|
+
result = val[0]
|
|
356
|
+
result = val[0] + [val[1]]
|
|
357
|
+
result
|
|
358
|
+
end
|
|
359
|
+
|
|
360
|
+
private def _ibex_action_60(val, _values)
|
|
361
|
+
result = val[0]
|
|
362
|
+
result = build_group(val[0], val[1], val[3])
|
|
363
|
+
result
|
|
364
|
+
end
|
|
365
|
+
|
|
366
|
+
private def _ibex_action_61(val, _values)
|
|
367
|
+
result = val[0]
|
|
368
|
+
result = [val[0]]
|
|
369
|
+
result
|
|
370
|
+
end
|
|
371
|
+
|
|
372
|
+
private def _ibex_action_62(val, _values)
|
|
373
|
+
result = val[0]
|
|
374
|
+
result = val[0] + [val[2]]
|
|
375
|
+
result
|
|
376
|
+
end
|
|
377
|
+
|
|
378
|
+
private def _ibex_action_63(val, _values)
|
|
379
|
+
result = val[0]
|
|
380
|
+
result = Array.new(0)
|
|
381
|
+
result
|
|
382
|
+
end
|
|
383
|
+
|
|
384
|
+
private def _ibex_action_64(val, _values)
|
|
385
|
+
result = val[0]
|
|
386
|
+
result = val[0] + [val[1]]
|
|
387
|
+
result
|
|
388
|
+
end
|
|
389
|
+
|
|
390
|
+
private def _ibex_action_65(val, _values)
|
|
391
|
+
result = val[0]
|
|
392
|
+
result = val[0]
|
|
393
|
+
result
|
|
394
|
+
end
|
|
395
|
+
|
|
396
|
+
private def _ibex_action_66(val, _values)
|
|
397
|
+
result = val[0]
|
|
398
|
+
result = val[0]
|
|
399
|
+
result
|
|
400
|
+
end
|
|
401
|
+
|
|
402
|
+
private def _ibex_action_67(val, _values)
|
|
403
|
+
result = val[0]
|
|
404
|
+
result = val[0]
|
|
405
|
+
result
|
|
406
|
+
end
|
|
407
|
+
|
|
408
|
+
private def _ibex_action_68(val, _values)
|
|
409
|
+
result = val[0]
|
|
410
|
+
result = build_separated_list(val[0], val[2], val[4])
|
|
411
|
+
result
|
|
412
|
+
end
|
|
413
|
+
|
|
414
|
+
private def _ibex_action_69(val, _values)
|
|
415
|
+
result = val[0]
|
|
416
|
+
result = build_separated_list(val[0], val[2], val[4])
|
|
417
|
+
result
|
|
418
|
+
end
|
|
419
|
+
|
|
420
|
+
private def _ibex_action_70(val, _values)
|
|
421
|
+
result = val[0]
|
|
422
|
+
result = empty_user_code
|
|
423
|
+
result
|
|
424
|
+
end
|
|
425
|
+
|
|
426
|
+
private def _ibex_action_71(val, _values)
|
|
427
|
+
result = val[0]
|
|
428
|
+
result = append_user_code(val[0], val[1])
|
|
429
|
+
result
|
|
430
|
+
end
|
|
431
|
+
|
|
432
|
+
end
|
|
433
|
+
end
|
|
434
|
+
end
|