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.
Files changed (118) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +43 -0
  3. data/CHANGELOG.md +30 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +194 -0
  6. data/Rakefile +25 -0
  7. data/Steepfile +10 -0
  8. data/docs/architecture.md +99 -0
  9. data/docs/compat-notes.md +37 -0
  10. data/docs/grammar-reference.md +127 -0
  11. data/docs/lexer-coverage.md +14 -0
  12. data/docs/phase10-extensions.md +27 -0
  13. data/docs/racc-migration.md +47 -0
  14. data/exe/ibex +6 -0
  15. data/gemfiles/Gemfile +7 -0
  16. data/gemfiles/Gemfile.lock +98 -0
  17. data/lib/ibex/analysis/sets.rb +194 -0
  18. data/lib/ibex/analysis.rb +8 -0
  19. data/lib/ibex/cli/counterexample_options.rb +38 -0
  20. data/lib/ibex/cli/outputs.rb +88 -0
  21. data/lib/ibex/cli.rb +333 -0
  22. data/lib/ibex/codegen/dot.rb +52 -0
  23. data/lib/ibex/codegen/html.rb +110 -0
  24. data/lib/ibex/codegen/rbs.rb +54 -0
  25. data/lib/ibex/codegen/report.rb +149 -0
  26. data/lib/ibex/codegen/ruby.rb +235 -0
  27. data/lib/ibex/codegen/symbol_labels.rb +18 -0
  28. data/lib/ibex/error.rb +7 -0
  29. data/lib/ibex/frontend/action_scanner.rb +266 -0
  30. data/lib/ibex/frontend/ast.rb +146 -0
  31. data/lib/ibex/frontend/bootstrap_parser.rb +163 -0
  32. data/lib/ibex/frontend/dsl.rb +196 -0
  33. data/lib/ibex/frontend/generated_parser.rb +434 -0
  34. data/lib/ibex/frontend/generated_parser_base.rb +273 -0
  35. data/lib/ibex/frontend/grammar.y +156 -0
  36. data/lib/ibex/frontend/lexer.rb +165 -0
  37. data/lib/ibex/frontend/parser/declarations.rb +163 -0
  38. data/lib/ibex/frontend/parser/rules.rb +154 -0
  39. data/lib/ibex/frontend/parser.rb +23 -0
  40. data/lib/ibex/frontend/regenerator.rb +41 -0
  41. data/lib/ibex/frontend/source_cursor.rb +94 -0
  42. data/lib/ibex/frontend/token_adapter/declaration_state.rb +248 -0
  43. data/lib/ibex/frontend/token_adapter/delimiter_tracker.rb +37 -0
  44. data/lib/ibex/frontend/token_adapter/rule_state.rb +162 -0
  45. data/lib/ibex/frontend/token_adapter.rb +108 -0
  46. data/lib/ibex/frontend.rb +28 -0
  47. data/lib/ibex/ir/automaton_ir.rb +109 -0
  48. data/lib/ibex/ir/grammar_ir.rb +192 -0
  49. data/lib/ibex/ir/serialize.rb +154 -0
  50. data/lib/ibex/ir.rb +53 -0
  51. data/lib/ibex/lalr/builder.rb +270 -0
  52. data/lib/ibex/lalr/conflict.rb +120 -0
  53. data/lib/ibex/lalr/conflict_search.rb +332 -0
  54. data/lib/ibex/lalr/conflict_search_limits.rb +39 -0
  55. data/lib/ibex/lalr/counterexample.rb +138 -0
  56. data/lib/ibex/lalr/default_reductions.rb +67 -0
  57. data/lib/ibex/lalr.rb +27 -0
  58. data/lib/ibex/normalize/declarations.rb +60 -0
  59. data/lib/ibex/normalize/diagnostics.rb +99 -0
  60. data/lib/ibex/normalize/expander.rb +218 -0
  61. data/lib/ibex/normalize/expression.rb +54 -0
  62. data/lib/ibex/normalize.rb +166 -0
  63. data/lib/ibex/runtime/parser.rb +360 -0
  64. data/lib/ibex/runtime.rb +8 -0
  65. data/lib/ibex/tables.rb +125 -0
  66. data/lib/ibex/version.rb +6 -0
  67. data/lib/ibex.rb +23 -0
  68. data/sig/ibex/analysis/sets.rbs +72 -0
  69. data/sig/ibex/analysis.rbs +6 -0
  70. data/sig/ibex/cli/counterexample_options.rbs +16 -0
  71. data/sig/ibex/cli/outputs.rbs +31 -0
  72. data/sig/ibex/cli.rbs +108 -0
  73. data/sig/ibex/codegen/dot.rbs +19 -0
  74. data/sig/ibex/codegen/html.rbs +35 -0
  75. data/sig/ibex/codegen/rbs.rbs +31 -0
  76. data/sig/ibex/codegen/report.rbs +39 -0
  77. data/sig/ibex/codegen/ruby.rbs +92 -0
  78. data/sig/ibex/codegen/symbol_labels.rbs +11 -0
  79. data/sig/ibex/error.rbs +7 -0
  80. data/sig/ibex/frontend/action_scanner.rbs +74 -0
  81. data/sig/ibex/frontend/ast.rbs +223 -0
  82. data/sig/ibex/frontend/bootstrap_parser.rbs +80 -0
  83. data/sig/ibex/frontend/dsl.rbs +124 -0
  84. data/sig/ibex/frontend/generated_parser.rbs +163 -0
  85. data/sig/ibex/frontend/generated_parser_base.rbs +114 -0
  86. data/sig/ibex/frontend/lexer.rbs +61 -0
  87. data/sig/ibex/frontend/parser/declarations.rbs +56 -0
  88. data/sig/ibex/frontend/parser/rules.rbs +48 -0
  89. data/sig/ibex/frontend/parser.rbs +16 -0
  90. data/sig/ibex/frontend/regenerator.rbs +16 -0
  91. data/sig/ibex/frontend/source_cursor.rbs +73 -0
  92. data/sig/ibex/frontend/token_adapter/declaration_state.rbs +97 -0
  93. data/sig/ibex/frontend/token_adapter/delimiter_tracker.rbs +25 -0
  94. data/sig/ibex/frontend/token_adapter/rule_state.rbs +77 -0
  95. data/sig/ibex/frontend/token_adapter.rbs +67 -0
  96. data/sig/ibex/frontend.rbs +15 -0
  97. data/sig/ibex/ir/automaton_ir.rbs +77 -0
  98. data/sig/ibex/ir/grammar_ir.rbs +143 -0
  99. data/sig/ibex/ir/serialize.rbs +50 -0
  100. data/sig/ibex/ir.rbs +43 -0
  101. data/sig/ibex/lalr/builder.rbs +85 -0
  102. data/sig/ibex/lalr/conflict.rbs +47 -0
  103. data/sig/ibex/lalr/conflict_search.rbs +131 -0
  104. data/sig/ibex/lalr/conflict_search_limits.rbs +29 -0
  105. data/sig/ibex/lalr/counterexample.rbs +53 -0
  106. data/sig/ibex/lalr/default_reductions.rbs +20 -0
  107. data/sig/ibex/lalr.rbs +23 -0
  108. data/sig/ibex/normalize/declarations.rbs +20 -0
  109. data/sig/ibex/normalize/diagnostics.rbs +32 -0
  110. data/sig/ibex/normalize/expander.rbs +66 -0
  111. data/sig/ibex/normalize/expression.rbs +21 -0
  112. data/sig/ibex/normalize.rbs +96 -0
  113. data/sig/ibex/runtime/parser.rbs +167 -0
  114. data/sig/ibex/runtime.rbs +6 -0
  115. data/sig/ibex/tables.rbs +50 -0
  116. data/sig/ibex/version.rbs +6 -0
  117. data/sig/ibex.rbs +6 -0
  118. 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