ibex 0.2.0 → 0.4.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 +4 -4
- data/README.md +100 -272
- data/docs/architecture.md +187 -35
- data/docs/bison-import.md +103 -0
- data/docs/comparison-policy.md +127 -0
- data/docs/configuration-model.md +59 -0
- data/docs/configuration-report.md +28 -0
- data/docs/conflict-explanation-reviews/v1/records/README.md +28 -0
- data/docs/conflict-explanation-study.md +62 -0
- data/docs/construction-profiling.md +157 -0
- data/docs/cst-migration.md +3 -4
- data/docs/cst.md +24 -0
- data/docs/decisions/0000-template.md +24 -0
- data/docs/decisions/0001-separate-ir-pipeline.md +34 -0
- data/docs/decisions/0002-opaque-user-code-boundary.md +32 -0
- data/docs/decisions/0003-self-hosted-grammar-frontend.md +32 -0
- data/docs/decisions/0004-shared-semantic-and-lossless-source-model.md +33 -0
- data/docs/decisions/0005-contained-grammar-composition.md +34 -0
- data/docs/decisions/0006-bounded-structural-grammar-lowering.md +32 -0
- data/docs/decisions/0007-shared-parser-construction-pipeline.md +33 -0
- data/docs/decisions/0008-versioned-runtime-package-boundary.md +36 -0
- data/docs/decisions/0009-isolated-parser-sessions.md +34 -0
- data/docs/decisions/0010-committed-runtime-observation.md +34 -0
- data/docs/decisions/0011-versioned-semantic-action-boundary.md +37 -0
- data/docs/decisions/0012-bounded-nonexecuting-analysis.md +37 -0
- data/docs/decisions/0013-transactional-generation-publication.md +37 -0
- data/docs/decisions/0014-versioned-generated-lexer.md +35 -0
- data/docs/decisions/0015-worker-isolated-browser-analysis.md +32 -0
- data/docs/decisions/0016-red-green-concrete-syntax.md +34 -0
- data/docs/decisions/0017-persistent-syntax-artifacts.md +35 -0
- data/docs/decisions/0018-conservative-incremental-syntax-reuse.md +38 -0
- data/docs/decisions/0019-runtime-syntax-session-boundary.md +51 -0
- data/docs/decisions/0020-grammar-ir-parser-contract.md +65 -0
- data/docs/decisions/0021-data-only-parser-table-sidecar.md +50 -0
- data/docs/decisions/0022-manifest-bound-verification-report.md +77 -0
- data/docs/decisions/0023-syntax-only-repair-results.md +48 -0
- data/docs/decisions/0024-direct-ielr-construction.md +42 -0
- data/docs/decisions/README.md +74 -0
- data/docs/declarative-configuration.md +274 -0
- data/docs/development.md +196 -2
- data/docs/direct-ielr-decision.md +120 -0
- data/docs/direct-multi-entry-decision.md +82 -0
- data/docs/editor-setup.md +2 -1
- data/docs/error-ux-review-rubric-v1.md +117 -0
- data/docs/error-ux-reviews/v1/records/README.md +22 -0
- data/docs/error-ux-round2-review-status-v1.json +27 -0
- data/docs/error-ux-round2-reviews/v1/records/README.md +30 -0
- data/docs/error-ux-round2-v1.json +1617 -0
- data/docs/error-ux-round2.md +111 -0
- data/docs/error-ux.md +54 -0
- data/docs/getting-started.md +80 -0
- data/docs/grammar-reference.md +184 -13
- data/docs/ielr-design.md +43 -0
- data/docs/ielr.md +92 -0
- data/docs/impact.md +101 -0
- data/docs/ja/bison-import.md +51 -0
- data/docs/ja/stable-api.md +53 -0
- data/docs/lexer-construction-profile.md +109 -0
- data/docs/lexer-migration.md +5 -0
- data/docs/maturity.md +129 -0
- data/docs/project-site-strategy.md +54 -0
- data/docs/racc-migration-evidence.md +45 -0
- data/docs/racc-migration.md +11 -0
- data/docs/release-readiness.md +126 -68
- data/docs/repair-semantics.md +123 -0
- data/docs/runtime-abi-evolution.md +310 -0
- data/docs/stability.md +145 -34
- data/docs/status.md +43 -0
- data/docs/syntax-sessions.md +183 -0
- data/docs/table-artifact.md +125 -0
- data/docs/test-interactions.md +219 -0
- data/docs/verification-report.md +137 -0
- data/docs/verifier-trust-boundary.md +199 -0
- data/docs/workloads.md +132 -0
- data/lib/ibex/analysis/digraph.rb +128 -0
- data/lib/ibex/analysis/sets.rb +14 -0
- data/lib/ibex/analysis.rb +1 -0
- data/lib/ibex/bison_import/importer.rb +516 -0
- data/lib/ibex/bison_import/tokenizer.rb +260 -0
- data/lib/ibex/bison_import.rb +200 -0
- data/lib/ibex/bounded_subprocess.rb +171 -0
- data/lib/ibex/cli/ambiguity.rb +14 -5
- data/lib/ibex/cli/analysis.rb +134 -0
- data/lib/ibex/cli/bison_import.rb +121 -0
- data/lib/ibex/cli/config.rb +128 -0
- data/lib/ibex/cli/diagnostics.rb +31 -11
- data/lib/ibex/cli/documentation.rb +11 -8
- data/lib/ibex/cli/equiv.rb +169 -0
- data/lib/ibex/cli/error_messages.rb +11 -4
- data/lib/ibex/cli/explain.rb +14 -5
- data/lib/ibex/cli/fix.rb +203 -0
- data/lib/ibex/cli/formatting.rb +11 -10
- data/lib/ibex/cli/fuzz.rb +200 -0
- data/lib/ibex/cli/fuzz_regressions.rb +145 -0
- data/lib/ibex/cli/generation_artifacts.rb +53 -2
- data/lib/ibex/cli/generation_error_messages.rb +1 -1
- data/lib/ibex/cli/grammar_tests.rb +32 -14
- data/lib/ibex/cli/impact.rb +393 -0
- data/lib/ibex/cli/ir_tools.rb +5 -61
- data/lib/ibex/cli/outputs.rb +60 -33
- data/lib/ibex/cli/reduce.rb +202 -0
- data/lib/ibex/cli/reduce_reporting.rb +71 -0
- data/lib/ibex/cli/samples.rb +49 -23
- data/lib/ibex/cli/verify.rb +116 -0
- data/lib/ibex/cli/watch.rb +6 -5
- data/lib/ibex/cli.rb +362 -56
- data/lib/ibex/codegen/action_locations.rb +1 -1
- data/lib/ibex/codegen/action_method_source.rb +5 -6
- data/lib/ibex/codegen/action_source.rb +3 -2
- data/lib/ibex/codegen/ambiguity.rb +5 -4
- data/lib/ibex/codegen/explain.rb +123 -55
- data/lib/ibex/codegen/generated_action_abi.rb +10 -5
- data/lib/ibex/codegen/rbs.rb +15 -7
- data/lib/ibex/codegen/report.rb +25 -13
- data/lib/ibex/codegen/ruby.rb +28 -64
- data/lib/ibex/codegen/ruby_actions.rb +9 -6
- data/lib/ibex/codegen/ruby_syntax.rb +15 -9
- data/lib/ibex/configuration/analysis_grammar.rb +35 -0
- data/lib/ibex/configuration/explanation.rb +421 -0
- data/lib/ibex/configuration/inspector.rb +232 -0
- data/lib/ibex/configuration.rb +580 -0
- data/lib/ibex/coverage/collector.rb +21 -11
- data/lib/ibex/coverage/event_stream.rb +13 -7
- data/lib/ibex/coverage/report.rb +26 -18
- data/lib/ibex/coverage/runtime_event_validator.rb +30 -21
- data/lib/ibex/delta_reducer.rb +99 -0
- data/lib/ibex/diff.rb +141 -0
- data/lib/ibex/equiv/machine.rb +135 -0
- data/lib/ibex/equiv.rb +373 -0
- data/lib/ibex/fix.rb +557 -0
- data/lib/ibex/frontend/ast.rb +22 -2
- data/lib/ibex/frontend/bootstrap_parser.rb +6 -13
- data/lib/ibex/frontend/diagnostic.rb +1 -1
- data/lib/ibex/frontend/formatter.rb +72 -26
- data/lib/ibex/frontend/generated_parser.rb +147 -117
- data/lib/ibex/frontend/generated_parser_base.rb +7 -3
- data/lib/ibex/frontend/generated_parser_includes.rb +1 -11
- data/lib/ibex/frontend/generation.rb +1 -1
- data/lib/ibex/frontend/parser/declarations.rb +17 -2
- data/lib/ibex/frontend/parser_configuration_support.rb +56 -0
- data/lib/ibex/frontend/regenerator.rb +1 -0
- data/lib/ibex/frontend/resolution.rb +2 -1
- data/lib/ibex/frontend/resolver.rb +1 -1
- data/lib/ibex/frontend/rule_documentation.rb +2 -1
- data/lib/ibex/frontend/source_cursor.rb +2 -2
- data/lib/ibex/frontend/source_span.rb +9 -1
- data/lib/ibex/frontend/token_adapter/declaration_state.rb +38 -6
- data/lib/ibex/frontend/token_adapter.rb +10 -0
- data/lib/ibex/frontend.rb +1 -0
- data/lib/ibex/fuzz.rb +219 -0
- data/lib/ibex/generation_input.rb +1 -1
- data/lib/ibex/generation_manifest.rb +36 -25
- data/lib/ibex/generation_transaction.rb +1 -1
- data/lib/ibex/generation_transaction_recovery.rb +4 -4
- data/lib/ibex/generation_transaction_validation.rb +2 -2
- data/lib/ibex/grammar_tests.rb +1 -1
- data/lib/ibex/impact/action_impact.rb +148 -0
- data/lib/ibex/impact/automaton_impact.rb +57 -0
- data/lib/ibex/impact/coverage_impact.rb +53 -0
- data/lib/ibex/impact/graph.rb +132 -0
- data/lib/ibex/impact/propagation.rb +147 -0
- data/lib/ibex/impact/report.rb +273 -0
- data/lib/ibex/impact/seeds.rb +69 -0
- data/lib/ibex/impact/severity.rb +139 -0
- data/lib/ibex/impact.rb +16 -0
- data/lib/ibex/ir/automaton_ir.rb +61 -19
- data/lib/ibex/ir/grammar_ir.rb +76 -45
- data/lib/ibex/ir/lexer_ir.rb +5 -5
- data/lib/ibex/ir/parser_contract.rb +135 -0
- data/lib/ibex/ir/serialize.rb +203 -76
- data/lib/ibex/ir/validator/automaton.rb +64 -34
- data/lib/ibex/ir/validator/base.rb +51 -33
- data/lib/ibex/ir/validator/grammar.rb +113 -83
- data/lib/ibex/ir/validator/lexer.rb +2 -2
- data/lib/ibex/ir/validator.rb +2 -1
- data/lib/ibex/ir.rb +16 -3
- data/lib/ibex/lalr/build_metrics.rb +50 -2
- data/lib/ibex/lalr/builder.rb +191 -56
- data/lib/ibex/lalr/conflict_search.rb +15 -4
- data/lib/ibex/lalr/counterexample.rb +19 -14
- data/lib/ibex/lalr/direct_lookaheads.rb +110 -57
- data/lib/ibex/lalr/goto_follows.rb +229 -0
- data/lib/ibex/lalr/ielr/annotator.rb +214 -0
- data/lib/ibex/lalr/ielr/bits.rb +28 -0
- data/lib/ibex/lalr/ielr/inadequacy.rb +47 -0
- data/lib/ibex/lalr/ielr/item_lookaheads.rb +78 -0
- data/lib/ibex/lalr/ielr/pipeline.rb +75 -0
- data/lib/ibex/lalr/ielr/split_stability.rb +78 -0
- data/lib/ibex/lalr/ielr/split_state.rb +20 -0
- data/lib/ibex/lalr/ielr/state_splitter.rb +258 -0
- data/lib/ibex/lalr/ielr_partition.rb +22 -8
- data/lib/ibex/lalr/inadequacy_report.rb +50 -0
- data/lib/ibex/lalr/lookahead_propagation.rb +111 -0
- data/lib/ibex/lalr/lr0_collection.rb +121 -0
- data/lib/ibex/lalr/unreachable_states.rb +80 -0
- data/lib/ibex/lalr.rb +52 -1
- data/lib/ibex/location.rb +3 -3
- data/lib/ibex/lsp/document_handlers.rb +9 -7
- data/lib/ibex/lsp/initialization_handlers.rb +9 -7
- data/lib/ibex/lsp/navigation_handlers.rb +25 -11
- data/lib/ibex/lsp/parser_configuration_assistance.rb +149 -0
- data/lib/ibex/lsp/position_codec.rb +6 -2
- data/lib/ibex/lsp/request_handlers.rb +3 -2
- data/lib/ibex/lsp/request_support.rb +14 -7
- data/lib/ibex/lsp/server.rb +13 -11
- data/lib/ibex/lsp/symbol_index.rb +13 -13
- data/lib/ibex/lsp/symbol_index_builder.rb +30 -20
- data/lib/ibex/lsp/symbol_occurrence.rb +8 -2
- data/lib/ibex/lsp/transport.rb +13 -3
- data/lib/ibex/lsp/workspace.rb +5 -4
- data/lib/ibex/lsp/workspace_analyzer.rb +1 -1
- data/lib/ibex/lsp.rb +1 -0
- data/lib/ibex/messages/en.yml +28 -0
- data/lib/ibex/messages/ja.yml +28 -0
- data/lib/ibex/messages.rb +68 -0
- data/lib/ibex/metrics.rb +175 -0
- data/lib/ibex/normalize/declarations.rb +2 -0
- data/lib/ibex/normalize/diagnostics.rb +63 -38
- data/lib/ibex/normalize/expander.rb +5 -4
- data/lib/ibex/normalize/expression.rb +8 -6
- data/lib/ibex/normalize/grammar_builder.rb +26 -0
- data/lib/ibex/normalize/inline_expansion.rb +100 -49
- data/lib/ibex/normalize/lexer.rb +3 -3
- data/lib/ibex/normalize/parameter_ebnf_lowering.rb +11 -10
- data/lib/ibex/normalize/parameter_lowering.rb +40 -23
- data/lib/ibex/normalize/parameters.rb +31 -4
- data/lib/ibex/normalize/parser_configuration.rb +70 -0
- data/lib/ibex/normalize.rb +10 -20
- data/lib/ibex/racc_migration/report.rb +6 -3
- data/lib/ibex/rake_task.rb +1 -1
- data/lib/ibex/samples.rb +43 -13
- data/lib/ibex/table_artifact/builder.rb +266 -0
- data/lib/ibex/table_artifact/cst_projection.rb +70 -0
- data/lib/ibex/table_artifact/document.rb +39 -0
- data/lib/ibex/table_artifact/executor.rb +187 -0
- data/lib/ibex/table_artifact/serializer.rb +57 -0
- data/lib/ibex/table_artifact/validator/metadata.rb +179 -0
- data/lib/ibex/table_artifact/validator/support.rb +86 -0
- data/lib/ibex/table_artifact/validator/tables.rb +238 -0
- data/lib/ibex/table_artifact/validator.rb +253 -0
- data/lib/ibex/table_artifact.rb +88 -0
- data/lib/ibex/table_simulation/result.rb +6 -2
- data/lib/ibex/table_simulation/step.rb +3 -1
- data/lib/ibex/tables.rb +14 -0
- data/lib/ibex/verifiable_generation_bundle.rb +86 -0
- data/lib/ibex/verification_report/builder.rb +159 -0
- data/lib/ibex/verification_report/canonical_ir.rb +123 -0
- data/lib/ibex/verification_report/logical_path.rb +68 -0
- data/lib/ibex/verification_report/validator.rb +329 -0
- data/lib/ibex/verification_report.rb +69 -0
- data/lib/ibex/verify/action_correspondence.rb +138 -0
- data/lib/ibex/verify/language_witness.rb +295 -0
- data/lib/ibex/verify/reference_collection.rb +190 -0
- data/lib/ibex/verify/result.rb +73 -0
- data/lib/ibex/verify/verifier.rb +598 -0
- data/lib/ibex/verify.rb +15 -0
- data/lib/ibex/version.rb +1 -1
- data/lib/ibex/watch/runner.rb +10 -1
- data/lib/ibex/watch/source_snapshot.rb +13 -8
- data/lib/ibex.rb +11 -0
- data/schema/{automaton-ir-v1.schema.json → automaton-ir-definitions.schema.json} +6 -6
- data/schema/{automaton-ir-v2.schema.json → automaton-ir.schema.json} +14 -7
- data/schema/bison-import-v1.schema.json +106 -0
- data/schema/conflict-explanation-review-v1.schema.json +196 -0
- data/schema/conflict-explanation-study-v1.schema.json +528 -0
- data/schema/construction-profile-v1.schema.json +779 -0
- data/schema/diff-v1.schema.json +41 -0
- data/schema/direct-ielr-decision-v1.schema.json +200 -0
- data/schema/equiv-v1.schema.json +64 -0
- data/schema/error-ux-review-v1.schema.json +609 -0
- data/schema/error-ux-round2-review-v1.schema.json +191 -0
- data/schema/error-ux-round2-v1.schema.json +519 -0
- data/schema/explain-v1.schema.json +63 -1
- data/schema/fix-v1.schema.json +64 -0
- data/schema/fix-v2.schema.json +66 -0
- data/schema/fix-v3.schema.json +101 -0
- data/schema/fuzz-regression-v1.schema.json +79 -0
- data/schema/fuzz-v1.schema.json +114 -0
- data/schema/{grammar-ir-v2.schema.json → grammar-ir-extensions.schema.json} +20 -65
- data/schema/{grammar-ir-v1.schema.json → grammar-ir-foundation.schema.json} +3 -3
- data/schema/grammar-ir.schema.json +271 -0
- data/schema/ielr-benchmark-v1.schema.json +85 -0
- data/schema/impact-v1.schema.json +208 -0
- data/schema/lexer-profile-v1.schema.json +491 -0
- data/schema/metrics-v1.schema.json +60 -0
- data/schema/reduce-v1.schema.json +22 -0
- data/schema/reduce-v2.schema.json +63 -0
- data/schema/table-artifact-v1.schema.json +377 -0
- data/schema/verification-report-v1.schema.json +222 -0
- data/schema/verify-v1.schema.json +42 -0
- data/sig/ibex/analysis/digraph.rbs +19 -0
- data/sig/ibex/analysis/sets.rbs +10 -0
- data/sig/ibex/bison_import/importer.rbs +140 -0
- data/sig/ibex/bison_import/tokenizer.rbs +91 -0
- data/sig/ibex/bison_import.rbs +95 -0
- data/sig/ibex/bounded_subprocess.rbs +76 -0
- data/sig/ibex/cli/ambiguity.rbs +6 -0
- data/sig/ibex/cli/analysis.rbs +43 -0
- data/sig/ibex/cli/bison_import.rbs +32 -0
- data/sig/ibex/cli/config.rbs +35 -0
- data/sig/ibex/cli/diagnostics.rbs +16 -3
- data/sig/ibex/cli/documentation.rbs +5 -1
- data/sig/ibex/cli/equiv.rbs +49 -0
- data/sig/ibex/cli/error_messages.rbs +6 -0
- data/sig/ibex/cli/explain.rbs +6 -0
- data/sig/ibex/cli/fix.rbs +53 -0
- data/sig/ibex/cli/formatting.rbs +5 -1
- data/sig/ibex/cli/fuzz.rbs +47 -0
- data/sig/ibex/cli/fuzz_regressions.rbs +40 -0
- data/sig/ibex/cli/generation_artifacts.rbs +21 -2
- data/sig/ibex/cli/generation_error_messages.rbs +2 -2
- data/sig/ibex/cli/grammar_tests.rbs +15 -3
- data/sig/ibex/cli/impact.rbs +95 -0
- data/sig/ibex/cli/ir_tools.rbs +7 -19
- data/sig/ibex/cli/outputs.rbs +9 -3
- data/sig/ibex/cli/reduce.rbs +60 -0
- data/sig/ibex/cli/reduce_reporting.rbs +27 -0
- data/sig/ibex/cli/samples.rbs +8 -0
- data/sig/ibex/cli/verify.rbs +28 -0
- data/sig/ibex/cli/watch.rbs +2 -2
- data/sig/ibex/cli.rbs +79 -5
- data/sig/ibex/codegen/action_method_source.rbs +4 -4
- data/sig/ibex/codegen/explain.rbs +45 -25
- data/sig/ibex/codegen/generated_action_abi.rbs +14 -10
- data/sig/ibex/codegen/rbs.rbs +12 -10
- data/sig/ibex/codegen/report.rbs +12 -12
- data/sig/ibex/codegen/ruby.rbs +18 -15
- data/sig/ibex/codegen/ruby_actions.rbs +6 -6
- data/sig/ibex/codegen/ruby_syntax.rbs +10 -8
- data/sig/ibex/configuration/analysis_grammar.rbs +13 -0
- data/sig/ibex/configuration/explanation.rbs +195 -0
- data/sig/ibex/configuration/inspector.rbs +53 -0
- data/sig/ibex/configuration.rbs +242 -0
- data/sig/ibex/coverage/collector.rbs +16 -14
- data/sig/ibex/coverage/event_stream.rbs +12 -10
- data/sig/ibex/coverage/report.rbs +20 -18
- data/sig/ibex/coverage/runtime_event_validator.rbs +38 -36
- data/sig/ibex/delta_reducer.rbs +38 -0
- data/sig/ibex/diff.rbs +47 -0
- data/sig/ibex/equiv/machine.rbs +54 -0
- data/sig/ibex/equiv.rbs +129 -0
- data/sig/ibex/fix.rbs +138 -0
- data/sig/ibex/frontend/ast.rbs +33 -7
- data/sig/ibex/frontend/bootstrap_parser.rbs +2 -0
- data/sig/ibex/frontend/diagnostic.rbs +2 -2
- data/sig/ibex/frontend/formatter.rbs +38 -30
- data/sig/ibex/frontend/generated_parser.rbs +87 -77
- data/sig/ibex/frontend/generated_parser_base.rbs +4 -2
- data/sig/ibex/frontend/parser/declarations.rbs +3 -0
- data/sig/ibex/frontend/parser_configuration_support.rbs +27 -0
- data/sig/ibex/frontend/resolution.rbs +3 -2
- data/sig/ibex/frontend/source_cursor.rbs +2 -2
- data/sig/ibex/frontend/source_span.rbs +5 -2
- data/sig/ibex/frontend/token_adapter/declaration_state.rbs +13 -1
- data/sig/ibex/frontend/token_adapter.rbs +6 -0
- data/sig/ibex/fuzz.rbs +71 -0
- data/sig/ibex/generation_input.rbs +2 -2
- data/sig/ibex/generation_manifest.rbs +35 -32
- data/sig/ibex/generation_transaction_recovery.rbs +2 -2
- data/sig/ibex/generation_transaction_validation.rbs +2 -2
- data/sig/ibex/grammar_tests.rbs +2 -2
- data/sig/ibex/impact/action_impact.rbs +58 -0
- data/sig/ibex/impact/automaton_impact.rbs +37 -0
- data/sig/ibex/impact/coverage_impact.rbs +28 -0
- data/sig/ibex/impact/graph.rbs +67 -0
- data/sig/ibex/impact/propagation.rbs +56 -0
- data/sig/ibex/impact/report.rbs +107 -0
- data/sig/ibex/impact/seeds.rbs +36 -0
- data/sig/ibex/impact/severity.rbs +55 -0
- data/sig/ibex/impact.rbs +6 -0
- data/sig/ibex/ir/automaton_ir.rbs +30 -11
- data/sig/ibex/ir/grammar_ir.rbs +41 -27
- data/sig/ibex/ir/lexer_ir.rbs +8 -8
- data/sig/ibex/ir/parser_contract.rbs +69 -0
- data/sig/ibex/ir/serialize.rbs +63 -28
- data/sig/ibex/ir/validator/automaton.rbs +47 -44
- data/sig/ibex/ir/validator/base.rbs +35 -31
- data/sig/ibex/ir/validator/grammar.rbs +78 -67
- data/sig/ibex/ir/validator/lexer.rbs +4 -4
- data/sig/ibex/ir.rbs +9 -3
- data/sig/ibex/lalr/build_metrics.rbs +42 -2
- data/sig/ibex/lalr/builder.rbs +75 -24
- data/sig/ibex/lalr/conflict_search.rbs +5 -2
- data/sig/ibex/lalr/counterexample.rbs +17 -14
- data/sig/ibex/lalr/direct_lookaheads.rbs +35 -28
- data/sig/ibex/lalr/goto_follows.rbs +89 -0
- data/sig/ibex/lalr/ielr/annotator.rbs +67 -0
- data/sig/ibex/lalr/ielr/bits.rbs +14 -0
- data/sig/ibex/lalr/ielr/inadequacy.rbs +24 -0
- data/sig/ibex/lalr/ielr/item_lookaheads.rbs +35 -0
- data/sig/ibex/lalr/ielr/pipeline.rbs +17 -0
- data/sig/ibex/lalr/ielr/split_stability.rbs +27 -0
- data/sig/ibex/lalr/ielr/split_state.rbs +14 -0
- data/sig/ibex/lalr/ielr/state_splitter.rbs +76 -0
- data/sig/ibex/lalr/ielr_partition.rbs +17 -5
- data/sig/ibex/lalr/inadequacy_report.rbs +21 -0
- data/sig/ibex/lalr/lookahead_propagation.rbs +38 -0
- data/sig/ibex/lalr/lr0_collection.rbs +50 -0
- data/sig/ibex/lalr/unreachable_states.rbs +25 -0
- data/sig/ibex/lalr.rbs +11 -1
- data/sig/ibex/location.rbs +6 -6
- data/sig/ibex/lsp/document_handlers.rbs +8 -8
- data/sig/ibex/lsp/initialization_handlers.rbs +12 -12
- data/sig/ibex/lsp/navigation_handlers.rbs +15 -12
- data/sig/ibex/lsp/parser_configuration_assistance.rbs +49 -0
- data/sig/ibex/lsp/position_codec.rbs +8 -4
- data/sig/ibex/lsp/request_handlers.rbs +4 -4
- data/sig/ibex/lsp/request_support.rbs +8 -8
- data/sig/ibex/lsp/server.rbs +16 -16
- data/sig/ibex/lsp/symbol_index.rbs +20 -21
- data/sig/ibex/lsp/symbol_index_builder.rbs +9 -8
- data/sig/ibex/lsp/symbol_occurrence.rbs +11 -5
- data/sig/ibex/lsp/transport.rbs +18 -6
- data/sig/ibex/lsp/workspace.rbs +3 -2
- data/sig/ibex/lsp/workspace_analyzer.rbs +1 -1
- data/sig/ibex/messages.rbs +26 -0
- data/sig/ibex/metrics.rbs +50 -0
- data/sig/ibex/normalize/diagnostics.rbs +4 -4
- data/sig/ibex/normalize/expander.rbs +2 -2
- data/sig/ibex/normalize/expression.rbs +10 -8
- data/sig/ibex/normalize/grammar_builder.rbs +11 -0
- data/sig/ibex/normalize/inline_expansion.rbs +59 -50
- data/sig/ibex/normalize/lexer.rbs +4 -4
- data/sig/ibex/normalize/parameter_ebnf_lowering.rbs +15 -14
- data/sig/ibex/normalize/parameter_lowering.rbs +18 -18
- data/sig/ibex/normalize/parameters.rbs +13 -8
- data/sig/ibex/normalize/parser_configuration.rbs +23 -0
- data/sig/ibex/normalize.rbs +11 -5
- data/sig/ibex/racc_migration/report.rbs +8 -6
- data/sig/ibex/rake_task.rbs +1 -1
- data/sig/ibex/samples.rbs +13 -4
- data/sig/ibex/table_artifact/builder.rbs +93 -0
- data/sig/ibex/table_artifact/cst_projection.rbs +20 -0
- data/sig/ibex/table_artifact/document.rbs +27 -0
- data/sig/ibex/table_artifact/executor.rbs +66 -0
- data/sig/ibex/table_artifact/serializer.rbs +25 -0
- data/sig/ibex/table_artifact/validator/metadata.rbs +52 -0
- data/sig/ibex/table_artifact/validator/support.rbs +46 -0
- data/sig/ibex/table_artifact/validator/tables.rbs +63 -0
- data/sig/ibex/table_artifact/validator.rbs +66 -0
- data/sig/ibex/table_artifact.rbs +32 -0
- data/sig/ibex/table_simulation/result.rbs +8 -4
- data/sig/ibex/table_simulation/step.rbs +4 -2
- data/sig/ibex/tables.rbs +10 -9
- data/sig/ibex/verifiable_generation_bundle.rbs +24 -0
- data/sig/ibex/verification_report/builder.rbs +53 -0
- data/sig/ibex/verification_report/canonical_ir.rbs +41 -0
- data/sig/ibex/verification_report/logical_path.rbs +34 -0
- data/sig/ibex/verification_report/validator.rbs +114 -0
- data/sig/ibex/verification_report.rbs +44 -0
- data/sig/ibex/verify/action_correspondence.rbs +50 -0
- data/sig/ibex/verify/language_witness.rbs +112 -0
- data/sig/ibex/verify/reference_collection.rbs +63 -0
- data/sig/ibex/verify/result.rbs +52 -0
- data/sig/ibex/verify/verifier.rbs +170 -0
- data/sig/ibex/verify.rbs +6 -0
- data/sig/ibex/watch/runner.rbs +12 -2
- data/sig/ibex/watch/source_snapshot.rbs +13 -9
- metadata +254 -12
- data/lib/ibex/ir/migration.rb +0 -120
- data/sig/ibex/ir/migration.rbs +0 -34
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
# Generated by Ibex
|
|
2
|
+
# Generated by Ibex b85cd0e8a11c
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
module Ibex
|
|
6
6
|
module Frontend
|
|
7
7
|
class GeneratedParser < Ibex::Frontend::GeneratedParserBase
|
|
8
8
|
PARSER_TABLE_FORMAT_VERSION = 6
|
|
9
|
-
GRAMMAR_DIGEST = "sha256:
|
|
10
|
-
STATE_COUNT =
|
|
11
|
-
PRODUCTION_COUNT =
|
|
12
|
-
TOKEN_IDS = { :CLASS => 2, :FRAGMENT => 3, :INCLUDE => 4, :IMPORT => 5, :TOKEN => 6, :PRECHIGH => 7, :PRECLOW => 8, :OPTIONS => 9, :EXPECT => 10, :EXPECT_RR => 11, :START => 12, :RECOVER => 13, :ON_ERROR_REDUCE => 14, :TEST => 15, :LEXER => 16, :CONVERT => 17, :DISPLAY => 18, :TYPE => 19, :PARAM => 20, :PRINTER => 21, :
|
|
13
|
-
TOKEN_NAMES = { 0 => "$eof", 1 => "error", 2 => "CLASS", 3 => "FRAGMENT", 4 => "INCLUDE", 5 => "IMPORT", 6 => "TOKEN", 7 => "PRECHIGH", 8 => "PRECLOW", 9 => "OPTIONS", 10 => "EXPECT", 11 => "EXPECT_RR", 12 => "START", 13 => "RECOVER", 14 => "ON_ERROR_REDUCE", 15 => "TEST", 16 => "LEXER", 17 => "CONVERT", 18 => "DISPLAY", 19 => "TYPE", 20 => "PARAM", 21 => "PRINTER", 22 => "
|
|
14
|
-
ACTIONS = Ibex::Tables::CompactActions.packed("
|
|
15
|
-
GOTOS = Ibex::Tables::Compact.packed("
|
|
16
|
-
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, 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,
|
|
9
|
+
GRAMMAR_DIGEST = "sha256:b85cd0e8a11c519c1062b175163303d24ef1f41f483ae79283a02c7f4c98f538".freeze
|
|
10
|
+
STATE_COUNT = 227
|
|
11
|
+
PRODUCTION_COUNT = 146
|
|
12
|
+
TOKEN_IDS = { :CLASS => 2, :FRAGMENT => 3, :INCLUDE => 4, :IMPORT => 5, :TOKEN => 6, :PRECHIGH => 7, :PRECLOW => 8, :OPTIONS => 9, :EXPECT => 10, :EXPECT_RR => 11, :START => 12, :RECOVER => 13, :ON_ERROR_REDUCE => 14, :TEST => 15, :LEXER => 16, :CONVERT => 17, :DISPLAY => 18, :TYPE => 19, :PARAM => 20, :PRINTER => 21, :PARSER => 22, :PRAGMA => 23, :RULE => 24, :END => 25, :LEFT => 26, :RIGHT => 27, :NONASSOC => 28, :PRECEDENCE => 29, :IDENTIFIER => 30, :LITERAL => 31, :INTEGER => 32, :ACTION => 33, :USER_CODE => 34, :INLINE => 35, :EMPTY => 36, :LHS => 37, :PARAMETERIZED_REFERENCE => 38, :TOKEN_ALIAS => 39, :NODE => 40, :SEPARATED_LIST => 41, :SEPARATED_NONEMPTY_LIST => 42, :STATE => 43, :DO => 44, :SKIP => 45, :ON => 46, :REGEXP => 47, '::' => 120, '<' => 121, ':' => 122, '(' => 123, ')' => 124, ',' => 125, ';' => 126, '|' => 127, '=' => 128, '?' => 129, '*' => 130, '+' => 131 }.freeze
|
|
13
|
+
TOKEN_NAMES = { 0 => "$eof", 1 => "error", 2 => "CLASS", 3 => "FRAGMENT", 4 => "INCLUDE", 5 => "IMPORT", 6 => "TOKEN", 7 => "PRECHIGH", 8 => "PRECLOW", 9 => "OPTIONS", 10 => "EXPECT", 11 => "EXPECT_RR", 12 => "START", 13 => "RECOVER", 14 => "ON_ERROR_REDUCE", 15 => "TEST", 16 => "LEXER", 17 => "CONVERT", 18 => "DISPLAY", 19 => "TYPE", 20 => "PARAM", 21 => "PRINTER", 22 => "PARSER", 23 => "PRAGMA", 24 => "RULE", 25 => "END", 26 => "LEFT", 27 => "RIGHT", 28 => "NONASSOC", 29 => "PRECEDENCE", 30 => "IDENTIFIER", 31 => "LITERAL", 32 => "INTEGER", 33 => "ACTION", 34 => "USER_CODE", 35 => "INLINE", 36 => "EMPTY", 37 => "LHS", 38 => "PARAMETERIZED_REFERENCE", 39 => "TOKEN_ALIAS", 40 => "NODE", 41 => "SEPARATED_LIST", 42 => "SEPARATED_NONEMPTY_LIST", 43 => "STATE", 44 => "DO", 45 => "SKIP", 46 => "ON", 47 => "REGEXP", 120 => "'::'", 121 => "'<'", 122 => "':'", 123 => "'('", 124 => "')'", 125 => "','", 126 => "';'", 127 => "'|'", 128 => "'='", 129 => "'?'", 130 => "'*'", 131 => "'+'" }.freeze
|
|
14
|
+
ACTIONS = Ibex::Tables::CompactActions.packed("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", row_count: 227, encoding: :signed, column_count: 132)
|
|
15
|
+
GOTOS = Ibex::Tables::Compact.packed("AQIBAQEBAQIBBgEJAQEEFBgCAQEfASkBUlFMTwFXYgIBAQEBAQEBAQEBAQEBAQEBAQGBBAEBAQEOAUIBAQEBAWcBagEBQwEBdAFxAQE3AQEBIQEBAQEBAQEBAXABAXBxcgEBgQMBgQSBBQEBAQEBAQEBAQEBAQEBXAFzAS8BeAF6AQGBCQGBCgEBAQEBd1N9AQGBEQEBAToBAWVmAQN7ARUBAQEBAQEBFQEBAQEBb3oBAQEBATuBBAEBAR4ncQEBAQEvAQEBAQEBAQEBAQEBAXJwAQEBAQF1O0tOAQEBYAFTdQEBAQEBAQEBAQ==", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAUABgBMCAoJISIjMzUkOFpbJSYnKCkqKyxTZ2hnaGktaTkuLzA6MTIhIiM7gSgkTU5PJSYnKCkqKyxUgT2BPoE/gUCBQS2BKIFCLi8wgUMxMoEygShAgSmBGoEqgSuBLFpbgSiBFkKBLYFEgSuBLIEugSiBCU5PgS2BRYErgSyBLmt2T4EogS2BS4FMRIEugRiBGWyBTUWBGoFOgU+BPYE+gShGgVuBKEeBQoE6gTuBKIFDdk9JgVyBK4EsgV2BK4EsSlGBLYFLgUyBLYEugV5egS6BTWCBX4FOgU9wdHt8fXyBAIECgQOBBoEHfIEKgQyBDoETfIEXgR2BHoEggTaBOYE8gUaBWIFZgVqBYA==", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQAgAggDCQkJCgwJDzk5CQkJCQkJCQk4RESBF4EXRAmBFxAJCQkRCQlRUVESgTNRICAgUVFRUVFRUVE4gTOBM4EzgTOBM1GBGoEzUVFRgTNRUYEigTQVgRqBIoEagRqBGjo6gTWBCReBGoE0gTSBNIEagTt5eXmBNIE1gTWBNYE0RU1NgVGBNYE7gTsZgTWBEYERRYE7GoERgTuBO4FRgVGBUhuBUYFTHIFRgS+BL4FZgVGBCYEJHoFSgVKBUoFTgVOBUx8zgVKBWYFZgVOBUoFXQIFTgVlCgVeBWYFZSEpbXl9gY2VmdXd7fYEAgQKBCIEKgQ2BFIEVgRiBKIEpgTCBNoFJgUqBUIFa", row_count: 227, dense_width: 120)
|
|
16
|
+
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, 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, 87], [:reduce, 88], 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, 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, 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
|
|
17
17
|
eager_reductions = {} # @type var eager_reductions: Hash[Integer, [:reduce, Integer]]
|
|
18
18
|
EAGER_REDUCTIONS = eager_reductions.freeze #: Hash[Integer, [:reduce, Integer]]
|
|
19
|
-
PRODUCTIONS = Ibex::Tables::CompactProductions.packed("
|
|
19
|
+
PRODUCTIONS = Ibex::Tables::CompactProductions.packed("MTEyMjM0NTU2Njc3ODg5OTo6Ojo6Ojo6Ojo6Ojo6Ojo6Ozs8PT0+Pj8/QEBBQkJCQkNERUZHSElKS0tMTE1NTU5OT09QUVJSU1RVVldXWFlaWltcXF1dXl5fX2BhYWJiY2NkZGVlZmdnaGhpaWpqa2tra2trbG1ubm9vcHBwcHFxcnJycnN0dHV1dnZ2dnd3eHg=", "AgIKCQMHAQICBAEDAQQBAwICAgICAgICAgICAgICAgICAwMDAQMCAwQEAQMDAgICAgMDAwQGBAQEAQMCAgQEBAICAQIGBAEDAwQEBAECBAQBAwMBAwEDAgICAwcBAgEEAgQBAgIEBAEGAQIBAwEDAgICAgICBAcBAgIEAgICAgEDAQMDAwUCBAEDAgICAgcHAQM=", "EREEBBEEERERERERAQEREREREREREREREREREREREREREREREREREREREREREREREREREREEEREREREREREREREREREEEREREREREREREREREREREREREREREQQREREREREBAREREREEEREREREREREREREREQQREREREREREREREREREREREREREREREQQEERE=", metadata: Hash.new.freeze).freeze
|
|
20
20
|
error_messages = {} # @type var error_messages: Hash[Integer, String | { id: String, message: String }]
|
|
21
21
|
ERROR_MESSAGES = error_messages.freeze #: Hash[Integer, String | { id: String, message: String }]
|
|
22
22
|
PARSER_TABLES = { format_version: PARSER_TABLE_FORMAT_VERSION,
|
|
23
23
|
grammar_digest: GRAMMAR_DIGEST,
|
|
24
24
|
state_count: STATE_COUNT, production_count: PRODUCTION_COUNT,
|
|
25
25
|
uses_locations: false,
|
|
26
|
-
compact_fast_driver: true, compact_action_encoding: :signed, compact_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, 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, -
|
|
26
|
+
compact_fast_driver: true, compact_action_encoding: :signed, compact_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, 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, -89, -90, 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, 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, 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,
|
|
27
27
|
tokens: TOKEN_IDS, token_names: TOKEN_NAMES, actions: ACTIONS,
|
|
28
28
|
gotos: GOTOS, default_actions: DEFAULT_ACTIONS,
|
|
29
29
|
productions: PRODUCTIONS, eager_reductions: EAGER_REDUCTIONS, error_messages: ERROR_MESSAGES }.freeze
|
|
@@ -211,9 +211,9 @@ class GeneratedParser < Ibex::Frontend::GeneratedParserBase
|
|
|
211
211
|
result
|
|
212
212
|
end
|
|
213
213
|
|
|
214
|
-
private def _ibex_action_32(v0
|
|
214
|
+
private def _ibex_action_32(v0)
|
|
215
215
|
result = v0
|
|
216
|
-
result =
|
|
216
|
+
result = v0
|
|
217
217
|
result
|
|
218
218
|
end
|
|
219
219
|
|
|
@@ -224,630 +224,660 @@ class GeneratedParser < Ibex::Frontend::GeneratedParserBase
|
|
|
224
224
|
end
|
|
225
225
|
|
|
226
226
|
private def _ibex_action_34(v0, v1)
|
|
227
|
+
result = v0
|
|
228
|
+
result = build_include(v0, v1)
|
|
229
|
+
result
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
private def _ibex_action_35(v0, v1)
|
|
227
233
|
result = v0
|
|
228
234
|
result = build_tokens(v0, v1)
|
|
229
235
|
result
|
|
230
236
|
end
|
|
231
237
|
|
|
232
|
-
private def
|
|
238
|
+
private def _ibex_action_36()
|
|
233
239
|
result = nil
|
|
234
240
|
result = Array.new(0)
|
|
235
241
|
result
|
|
236
242
|
end
|
|
237
243
|
|
|
238
|
-
private def
|
|
244
|
+
private def _ibex_action_37(v0, v1)
|
|
239
245
|
result = v0
|
|
240
246
|
result = v0 + [v1]
|
|
241
247
|
result
|
|
242
248
|
end
|
|
243
249
|
|
|
244
|
-
private def
|
|
250
|
+
private def _ibex_action_38(v0)
|
|
245
251
|
result = v0
|
|
246
252
|
result = build_token_entry(v0)
|
|
247
253
|
result
|
|
248
254
|
end
|
|
249
255
|
|
|
250
|
-
private def
|
|
256
|
+
private def _ibex_action_39(v0, v1)
|
|
251
257
|
result = v0
|
|
252
258
|
result = build_token_alias(v0, v1)
|
|
253
259
|
result
|
|
254
260
|
end
|
|
255
261
|
|
|
256
|
-
private def
|
|
262
|
+
private def _ibex_action_40(v0, v1, v2)
|
|
257
263
|
result = v0
|
|
258
264
|
result = build_precedence(v0, :high_to_low, v1)
|
|
259
265
|
result
|
|
260
266
|
end
|
|
261
267
|
|
|
262
|
-
private def
|
|
268
|
+
private def _ibex_action_41(v0, v1, v2)
|
|
263
269
|
result = v0
|
|
264
270
|
result = build_precedence(v0, :low_to_high, v1)
|
|
265
271
|
result
|
|
266
272
|
end
|
|
267
273
|
|
|
268
|
-
private def
|
|
274
|
+
private def _ibex_action_42()
|
|
269
275
|
result = nil
|
|
270
276
|
result = Array.new(0)
|
|
271
277
|
result
|
|
272
278
|
end
|
|
273
279
|
|
|
274
|
-
private def
|
|
280
|
+
private def _ibex_action_43(v0, v1)
|
|
275
281
|
result = v0
|
|
276
282
|
result = v0 + [v1]
|
|
277
283
|
result
|
|
278
284
|
end
|
|
279
285
|
|
|
280
|
-
private def
|
|
286
|
+
private def _ibex_action_44(v0, v1)
|
|
281
287
|
result = v0
|
|
282
288
|
result = build_precedence_level(v0, v1)
|
|
283
289
|
result
|
|
284
290
|
end
|
|
285
291
|
|
|
286
|
-
private def
|
|
292
|
+
private def _ibex_action_45(v0)
|
|
287
293
|
result = v0
|
|
288
294
|
result = v0
|
|
289
295
|
result
|
|
290
296
|
end
|
|
291
297
|
|
|
292
|
-
private def
|
|
298
|
+
private def _ibex_action_46(v0)
|
|
293
299
|
result = v0
|
|
294
300
|
result = v0
|
|
295
301
|
result
|
|
296
302
|
end
|
|
297
303
|
|
|
298
|
-
private def
|
|
304
|
+
private def _ibex_action_47(v0)
|
|
299
305
|
result = v0
|
|
300
306
|
result = v0
|
|
301
307
|
result
|
|
302
308
|
end
|
|
303
309
|
|
|
304
|
-
private def
|
|
310
|
+
private def _ibex_action_48(v0)
|
|
305
311
|
result = v0
|
|
306
312
|
result = v0
|
|
307
313
|
result
|
|
308
314
|
end
|
|
309
315
|
|
|
310
|
-
private def
|
|
316
|
+
private def _ibex_action_49(v0, v1)
|
|
311
317
|
result = v0
|
|
312
318
|
result = build_options(v0, v1)
|
|
313
319
|
result
|
|
314
320
|
end
|
|
315
321
|
|
|
316
|
-
private def
|
|
322
|
+
private def _ibex_action_50(v0, v1)
|
|
317
323
|
result = v0
|
|
318
324
|
result = build_expect(v0, v1)
|
|
319
325
|
result
|
|
320
326
|
end
|
|
321
327
|
|
|
322
|
-
private def
|
|
328
|
+
private def _ibex_action_51(v0, v1)
|
|
323
329
|
result = v0
|
|
324
330
|
result = build_expect_rr(v0, v1)
|
|
325
331
|
result
|
|
326
332
|
end
|
|
327
333
|
|
|
328
|
-
private def
|
|
334
|
+
private def _ibex_action_52(v0, v1, v2)
|
|
329
335
|
result = v0
|
|
330
336
|
result = build_start(v0, [v1.value] + v2)
|
|
331
337
|
result
|
|
332
338
|
end
|
|
333
339
|
|
|
334
|
-
private def
|
|
340
|
+
private def _ibex_action_53(val)
|
|
335
341
|
result = val[0]
|
|
336
342
|
result = build_recovery(val[0], val[1], [val[3].value] + val[4])
|
|
337
343
|
result
|
|
338
344
|
end
|
|
339
345
|
|
|
340
|
-
private def
|
|
346
|
+
private def _ibex_action_54(v0, v1, v2)
|
|
341
347
|
result = v0
|
|
342
348
|
result = build_on_error_reduce(v0, [v1.value] + v2)
|
|
343
349
|
result
|
|
344
350
|
end
|
|
345
351
|
|
|
346
|
-
private def
|
|
352
|
+
private def _ibex_action_55(v0, v1, v2)
|
|
347
353
|
result = v0
|
|
348
354
|
result = build_grammar_test(v0, v1, v2)
|
|
349
355
|
result
|
|
350
356
|
end
|
|
351
357
|
|
|
352
|
-
private def
|
|
358
|
+
private def _ibex_action_56(v0, v1, v2)
|
|
353
359
|
result = v0
|
|
354
360
|
result = build_lexer(v0, v1)
|
|
355
361
|
result
|
|
356
362
|
end
|
|
357
363
|
|
|
358
|
-
private def
|
|
364
|
+
private def _ibex_action_57()
|
|
359
365
|
result = nil
|
|
360
366
|
result = Array.new(0)
|
|
361
367
|
result
|
|
362
368
|
end
|
|
363
369
|
|
|
364
|
-
private def
|
|
370
|
+
private def _ibex_action_58(v0, v1)
|
|
365
371
|
result = v0
|
|
366
372
|
result = v0 + [v1]
|
|
367
373
|
result
|
|
368
374
|
end
|
|
369
375
|
|
|
370
|
-
private def
|
|
376
|
+
private def _ibex_action_59(v0)
|
|
371
377
|
result = v0
|
|
372
378
|
result = v0
|
|
373
379
|
result
|
|
374
380
|
end
|
|
375
381
|
|
|
376
|
-
private def
|
|
382
|
+
private def _ibex_action_60(v0)
|
|
377
383
|
result = v0
|
|
378
384
|
result = v0
|
|
379
385
|
result
|
|
380
386
|
end
|
|
381
387
|
|
|
382
|
-
private def
|
|
388
|
+
private def _ibex_action_61(v0, v1, v2)
|
|
383
389
|
result = v0
|
|
384
390
|
result = build_lexer_rule(:skip, nil, v1, v2, v0)
|
|
385
391
|
result
|
|
386
392
|
end
|
|
387
393
|
|
|
388
|
-
private def
|
|
394
|
+
private def _ibex_action_62(v0, v1, v2)
|
|
389
395
|
result = v0
|
|
390
396
|
result = build_lexer_rule(:token, v0, v1, v2, v0)
|
|
391
397
|
result
|
|
392
398
|
end
|
|
393
399
|
|
|
394
|
-
private def
|
|
400
|
+
private def _ibex_action_63(v0, v1, v2)
|
|
395
401
|
result = v0
|
|
396
402
|
result = build_lexer_rule(:on, nil, v1, v2, v0)
|
|
397
403
|
result
|
|
398
404
|
end
|
|
399
405
|
|
|
400
|
-
private def
|
|
406
|
+
private def _ibex_action_64(v0)
|
|
401
407
|
result = v0
|
|
402
408
|
result = v0
|
|
403
409
|
result
|
|
404
410
|
end
|
|
405
411
|
|
|
406
|
-
private def
|
|
412
|
+
private def _ibex_action_65(v0)
|
|
407
413
|
result = v0
|
|
408
414
|
result = v0
|
|
409
415
|
result
|
|
410
416
|
end
|
|
411
417
|
|
|
412
|
-
private def
|
|
418
|
+
private def _ibex_action_66()
|
|
413
419
|
result = nil
|
|
414
420
|
result = nil
|
|
415
421
|
result
|
|
416
422
|
end
|
|
417
423
|
|
|
418
|
-
private def
|
|
424
|
+
private def _ibex_action_67(v0)
|
|
419
425
|
result = v0
|
|
420
426
|
result = v0
|
|
421
427
|
result
|
|
422
428
|
end
|
|
423
429
|
|
|
424
|
-
private def
|
|
430
|
+
private def _ibex_action_68(val)
|
|
425
431
|
result = val[0]
|
|
426
432
|
result = build_lexer_state(val[0], val[1], val[3])
|
|
427
433
|
result
|
|
428
434
|
end
|
|
429
435
|
|
|
430
|
-
private def
|
|
436
|
+
private def _ibex_action_69(v0, v1, v2)
|
|
431
437
|
result = v0
|
|
432
438
|
result = build_convert(v0, v1)
|
|
433
439
|
result
|
|
434
440
|
end
|
|
435
441
|
|
|
436
|
-
private def
|
|
442
|
+
private def _ibex_action_70()
|
|
437
443
|
result = nil
|
|
438
444
|
result = Array.new(0)
|
|
439
445
|
result
|
|
440
446
|
end
|
|
441
447
|
|
|
442
|
-
private def
|
|
448
|
+
private def _ibex_action_71(v0, v1)
|
|
443
449
|
result = v0
|
|
444
450
|
result = v0 + [v1]
|
|
445
451
|
result
|
|
446
452
|
end
|
|
447
453
|
|
|
448
|
-
private def
|
|
454
|
+
private def _ibex_action_72(v0, v1)
|
|
449
455
|
result = v0
|
|
450
456
|
result = build_conversion(v0, v1)
|
|
451
457
|
result
|
|
452
458
|
end
|
|
453
459
|
|
|
454
|
-
private def
|
|
460
|
+
private def _ibex_action_73(v0, v1, v2)
|
|
455
461
|
result = v0
|
|
456
462
|
result = build_display_name(v0, v1, v2)
|
|
457
463
|
result
|
|
458
464
|
end
|
|
459
465
|
|
|
460
|
-
private def
|
|
466
|
+
private def _ibex_action_74(v0, v1, v2)
|
|
461
467
|
result = v0
|
|
462
468
|
result = build_semantic_type(v0, v1, v2)
|
|
463
469
|
result
|
|
464
470
|
end
|
|
465
471
|
|
|
466
|
-
private def
|
|
472
|
+
private def _ibex_action_75(v0, v1, v2)
|
|
467
473
|
result = v0
|
|
468
474
|
result = build_parameter(v0, v1, v2)
|
|
469
475
|
result
|
|
470
476
|
end
|
|
471
477
|
|
|
472
|
-
private def
|
|
478
|
+
private def _ibex_action_76()
|
|
473
479
|
result = nil
|
|
474
480
|
result = nil
|
|
475
481
|
result
|
|
476
482
|
end
|
|
477
483
|
|
|
478
|
-
private def
|
|
484
|
+
private def _ibex_action_77(v0)
|
|
479
485
|
result = v0
|
|
480
486
|
result = v0
|
|
481
487
|
result
|
|
482
488
|
end
|
|
483
489
|
|
|
484
|
-
private def
|
|
490
|
+
private def _ibex_action_78(v0, v1, v2)
|
|
485
491
|
result = v0
|
|
486
492
|
result = build_printer(v0, v1, v2)
|
|
487
493
|
result
|
|
488
494
|
end
|
|
489
495
|
|
|
490
|
-
private def
|
|
496
|
+
private def _ibex_action_79(v0, v1, v2)
|
|
497
|
+
result = v0
|
|
498
|
+
result = build_parser_configuration(v0, v1)
|
|
499
|
+
result
|
|
500
|
+
end
|
|
501
|
+
|
|
502
|
+
private def _ibex_action_80()
|
|
491
503
|
result = nil
|
|
492
504
|
result = Array.new(0)
|
|
493
505
|
result
|
|
494
506
|
end
|
|
495
507
|
|
|
496
|
-
private def
|
|
508
|
+
private def _ibex_action_81(v0, v1)
|
|
509
|
+
result = v0
|
|
510
|
+
result = v0 + [v1]
|
|
511
|
+
result
|
|
512
|
+
end
|
|
513
|
+
|
|
514
|
+
private def _ibex_action_82(v0, v1)
|
|
515
|
+
result = v0
|
|
516
|
+
result = build_parser_setting(v0, v1)
|
|
517
|
+
result
|
|
518
|
+
end
|
|
519
|
+
|
|
520
|
+
private def _ibex_action_83()
|
|
521
|
+
result = nil
|
|
522
|
+
result = Array.new(0)
|
|
523
|
+
result
|
|
524
|
+
end
|
|
525
|
+
|
|
526
|
+
private def _ibex_action_84(v0, v1)
|
|
497
527
|
result = v0
|
|
498
528
|
result = v0 + [v1.value]
|
|
499
529
|
result
|
|
500
530
|
end
|
|
501
531
|
|
|
502
|
-
private def
|
|
532
|
+
private def _ibex_action_85()
|
|
503
533
|
result = nil
|
|
504
534
|
result = Array.new(0)
|
|
505
535
|
result
|
|
506
536
|
end
|
|
507
537
|
|
|
508
|
-
private def
|
|
538
|
+
private def _ibex_action_86(v0, v1)
|
|
509
539
|
result = v0
|
|
510
540
|
result = v0 + [v1.value]
|
|
511
541
|
result
|
|
512
542
|
end
|
|
513
543
|
|
|
514
|
-
private def
|
|
544
|
+
private def _ibex_action_87(v0)
|
|
515
545
|
result = v0
|
|
516
546
|
result = v0
|
|
517
547
|
result
|
|
518
548
|
end
|
|
519
549
|
|
|
520
|
-
private def
|
|
550
|
+
private def _ibex_action_88(v0)
|
|
521
551
|
result = v0
|
|
522
552
|
result = v0
|
|
523
553
|
result
|
|
524
554
|
end
|
|
525
555
|
|
|
526
|
-
private def
|
|
556
|
+
private def _ibex_action_89(v0)
|
|
527
557
|
result = v0
|
|
528
558
|
result = [v0]
|
|
529
559
|
result
|
|
530
560
|
end
|
|
531
561
|
|
|
532
|
-
private def
|
|
562
|
+
private def _ibex_action_90(v0, v1)
|
|
533
563
|
result = v0
|
|
534
564
|
result = v0 + [v1]
|
|
535
565
|
result
|
|
536
566
|
end
|
|
537
567
|
|
|
538
|
-
private def
|
|
568
|
+
private def _ibex_action_91(val)
|
|
539
569
|
result = val[0]
|
|
540
570
|
result = build_rule(val[0], val[1], val[2], val[4])
|
|
541
571
|
result
|
|
542
572
|
end
|
|
543
573
|
|
|
544
|
-
private def
|
|
574
|
+
private def _ibex_action_92()
|
|
545
575
|
result = nil
|
|
546
576
|
result = nil
|
|
547
577
|
result
|
|
548
578
|
end
|
|
549
579
|
|
|
550
|
-
private def
|
|
580
|
+
private def _ibex_action_93(v0)
|
|
551
581
|
result = v0
|
|
552
582
|
result = v0
|
|
553
583
|
result
|
|
554
584
|
end
|
|
555
585
|
|
|
556
|
-
private def
|
|
586
|
+
private def _ibex_action_94()
|
|
557
587
|
result = nil
|
|
558
588
|
result = nil
|
|
559
589
|
result
|
|
560
590
|
end
|
|
561
591
|
|
|
562
|
-
private def
|
|
592
|
+
private def _ibex_action_95(v0, v1, v2)
|
|
563
593
|
result = v0
|
|
564
594
|
result = build_rule_parameters(v0, v1)
|
|
565
595
|
result
|
|
566
596
|
end
|
|
567
597
|
|
|
568
|
-
private def
|
|
598
|
+
private def _ibex_action_96(v0)
|
|
569
599
|
result = v0
|
|
570
600
|
result = [v0]
|
|
571
601
|
result
|
|
572
602
|
end
|
|
573
603
|
|
|
574
|
-
private def
|
|
604
|
+
private def _ibex_action_97(v0, v1, v2)
|
|
575
605
|
result = v0
|
|
576
606
|
result = v0 + [v2]
|
|
577
607
|
result
|
|
578
608
|
end
|
|
579
609
|
|
|
580
|
-
private def
|
|
610
|
+
private def _ibex_action_100(v0)
|
|
581
611
|
result = v0
|
|
582
612
|
result = [v0]
|
|
583
613
|
result
|
|
584
614
|
end
|
|
585
615
|
|
|
586
|
-
private def
|
|
616
|
+
private def _ibex_action_101(v0, v1, v2)
|
|
587
617
|
result = v0
|
|
588
618
|
result = v0 + [v2]
|
|
589
619
|
result
|
|
590
620
|
end
|
|
591
621
|
|
|
592
|
-
private def
|
|
622
|
+
private def _ibex_action_102(v0, v1, v2)
|
|
593
623
|
result = v0
|
|
594
624
|
result = build_alternative(v0, v1, v2)
|
|
595
625
|
result
|
|
596
626
|
end
|
|
597
627
|
|
|
598
|
-
private def
|
|
628
|
+
private def _ibex_action_103()
|
|
599
629
|
result = nil
|
|
600
630
|
result = nil
|
|
601
631
|
result
|
|
602
632
|
end
|
|
603
633
|
|
|
604
|
-
private def
|
|
634
|
+
private def _ibex_action_104(val)
|
|
605
635
|
result = val[0]
|
|
606
636
|
result = build_node_annotation(val[0], val[1], val[3])
|
|
607
637
|
result
|
|
608
638
|
end
|
|
609
639
|
|
|
610
|
-
private def
|
|
640
|
+
private def _ibex_action_105()
|
|
611
641
|
result = nil
|
|
612
642
|
result = Array.new(0)
|
|
613
643
|
result
|
|
614
644
|
end
|
|
615
645
|
|
|
616
|
-
private def
|
|
646
|
+
private def _ibex_action_106(v0)
|
|
617
647
|
result = v0
|
|
618
648
|
result = v0
|
|
619
649
|
result
|
|
620
650
|
end
|
|
621
651
|
|
|
622
|
-
private def
|
|
652
|
+
private def _ibex_action_107()
|
|
623
653
|
result = nil
|
|
624
654
|
result = nil
|
|
625
655
|
result
|
|
626
656
|
end
|
|
627
657
|
|
|
628
|
-
private def
|
|
658
|
+
private def _ibex_action_108(v0, v1)
|
|
629
659
|
result = v0
|
|
630
660
|
result = v1
|
|
631
661
|
result
|
|
632
662
|
end
|
|
633
663
|
|
|
634
|
-
private def
|
|
664
|
+
private def _ibex_action_109()
|
|
635
665
|
result = nil
|
|
636
666
|
result = Array.new(0)
|
|
637
667
|
result
|
|
638
668
|
end
|
|
639
669
|
|
|
640
|
-
private def
|
|
670
|
+
private def _ibex_action_110(v0, v1)
|
|
641
671
|
result = v0
|
|
642
672
|
result = v0 + [v1]
|
|
643
673
|
result
|
|
644
674
|
end
|
|
645
675
|
|
|
646
|
-
private def
|
|
676
|
+
private def _ibex_action_111(v0)
|
|
647
677
|
result = v0
|
|
648
678
|
result = v0
|
|
649
679
|
result
|
|
650
680
|
end
|
|
651
681
|
|
|
652
|
-
private def
|
|
682
|
+
private def _ibex_action_112(v0)
|
|
653
683
|
result = v0
|
|
654
684
|
result = v0
|
|
655
685
|
result
|
|
656
686
|
end
|
|
657
687
|
|
|
658
|
-
private def
|
|
688
|
+
private def _ibex_action_113(v0)
|
|
659
689
|
result = v0
|
|
660
690
|
result = build_action(v0)
|
|
661
691
|
result
|
|
662
692
|
end
|
|
663
693
|
|
|
664
|
-
private def
|
|
694
|
+
private def _ibex_action_114(v0)
|
|
665
695
|
result = v0
|
|
666
696
|
result = build_empty(v0)
|
|
667
697
|
result
|
|
668
698
|
end
|
|
669
699
|
|
|
670
|
-
private def
|
|
700
|
+
private def _ibex_action_115(v0)
|
|
671
701
|
result = v0
|
|
672
702
|
result = v0
|
|
673
703
|
result
|
|
674
704
|
end
|
|
675
705
|
|
|
676
|
-
private def
|
|
706
|
+
private def _ibex_action_116(v0)
|
|
677
707
|
result = v0
|
|
678
708
|
result = v0
|
|
679
709
|
result
|
|
680
710
|
end
|
|
681
711
|
|
|
682
|
-
private def
|
|
712
|
+
private def _ibex_action_117(v0, v1, v2)
|
|
683
713
|
result = v0
|
|
684
714
|
result = build_symbol_reference(v0, v1, v2)
|
|
685
715
|
result
|
|
686
716
|
end
|
|
687
717
|
|
|
688
|
-
private def
|
|
718
|
+
private def _ibex_action_118(val)
|
|
689
719
|
result = val[0]
|
|
690
720
|
result = build_parameterized_reference(val[0], val[1], val[2], val[4], val[5])
|
|
691
721
|
result
|
|
692
722
|
end
|
|
693
723
|
|
|
694
|
-
private def
|
|
724
|
+
private def _ibex_action_119()
|
|
695
725
|
result = nil
|
|
696
726
|
result = Array.new(0)
|
|
697
727
|
result
|
|
698
728
|
end
|
|
699
729
|
|
|
700
|
-
private def
|
|
730
|
+
private def _ibex_action_120(v0)
|
|
701
731
|
result = v0
|
|
702
732
|
result = v0
|
|
703
733
|
result
|
|
704
734
|
end
|
|
705
735
|
|
|
706
|
-
private def
|
|
736
|
+
private def _ibex_action_121(v0)
|
|
707
737
|
result = v0
|
|
708
738
|
result = [v0]
|
|
709
739
|
result
|
|
710
740
|
end
|
|
711
741
|
|
|
712
|
-
private def
|
|
742
|
+
private def _ibex_action_122(v0, v1, v2)
|
|
713
743
|
result = v0
|
|
714
744
|
result = v0 + [v2]
|
|
715
745
|
result
|
|
716
746
|
end
|
|
717
747
|
|
|
718
|
-
private def
|
|
748
|
+
private def _ibex_action_123(v0)
|
|
719
749
|
result = v0
|
|
720
750
|
result = v0
|
|
721
751
|
result
|
|
722
752
|
end
|
|
723
753
|
|
|
724
|
-
private def
|
|
754
|
+
private def _ibex_action_124(v0)
|
|
725
755
|
result = v0
|
|
726
756
|
result = v0
|
|
727
757
|
result
|
|
728
758
|
end
|
|
729
759
|
|
|
730
|
-
private def
|
|
760
|
+
private def _ibex_action_125(v0)
|
|
731
761
|
result = v0
|
|
732
762
|
result = v0
|
|
733
763
|
result
|
|
734
764
|
end
|
|
735
765
|
|
|
736
|
-
private def
|
|
766
|
+
private def _ibex_action_126(v0)
|
|
737
767
|
result = v0
|
|
738
768
|
result = v0
|
|
739
769
|
result
|
|
740
770
|
end
|
|
741
771
|
|
|
742
|
-
private def
|
|
772
|
+
private def _ibex_action_127()
|
|
743
773
|
result = nil
|
|
744
774
|
result = nil
|
|
745
775
|
result
|
|
746
776
|
end
|
|
747
777
|
|
|
748
|
-
private def
|
|
778
|
+
private def _ibex_action_128(v0, v1)
|
|
749
779
|
result = v0
|
|
750
780
|
result = [v0, v1]
|
|
751
781
|
result
|
|
752
782
|
end
|
|
753
783
|
|
|
754
|
-
private def
|
|
784
|
+
private def _ibex_action_129()
|
|
755
785
|
result = nil
|
|
756
786
|
result = Array.new(0)
|
|
757
787
|
result
|
|
758
788
|
end
|
|
759
789
|
|
|
760
|
-
private def
|
|
790
|
+
private def _ibex_action_130(v0, v1)
|
|
761
791
|
result = v0
|
|
762
792
|
result = v0 + [v1]
|
|
763
793
|
result
|
|
764
794
|
end
|
|
765
795
|
|
|
766
|
-
private def
|
|
796
|
+
private def _ibex_action_131(v0, v1)
|
|
767
797
|
result = v0
|
|
768
798
|
result = v0 + [v1]
|
|
769
799
|
result
|
|
770
800
|
end
|
|
771
801
|
|
|
772
|
-
private def
|
|
802
|
+
private def _ibex_action_132(v0, v1)
|
|
773
803
|
result = v0
|
|
774
804
|
result = v0 + [v1]
|
|
775
805
|
result
|
|
776
806
|
end
|
|
777
807
|
|
|
778
|
-
private def
|
|
808
|
+
private def _ibex_action_133(v0, v1, v2, v3)
|
|
779
809
|
result = v0
|
|
780
810
|
result = build_group(v0, v1, v3)
|
|
781
811
|
result
|
|
782
812
|
end
|
|
783
813
|
|
|
784
|
-
private def
|
|
814
|
+
private def _ibex_action_134(v0)
|
|
785
815
|
result = v0
|
|
786
816
|
result = [v0]
|
|
787
817
|
result
|
|
788
818
|
end
|
|
789
819
|
|
|
790
|
-
private def
|
|
820
|
+
private def _ibex_action_135(v0, v1, v2)
|
|
791
821
|
result = v0
|
|
792
822
|
result = v0 + [v2]
|
|
793
823
|
result
|
|
794
824
|
end
|
|
795
825
|
|
|
796
|
-
private def
|
|
826
|
+
private def _ibex_action_136()
|
|
797
827
|
result = nil
|
|
798
828
|
result = Array.new(0)
|
|
799
829
|
result
|
|
800
830
|
end
|
|
801
831
|
|
|
802
|
-
private def
|
|
832
|
+
private def _ibex_action_137(v0, v1)
|
|
803
833
|
result = v0
|
|
804
834
|
result = v0 + [v1]
|
|
805
835
|
result
|
|
806
836
|
end
|
|
807
837
|
|
|
808
|
-
private def
|
|
838
|
+
private def _ibex_action_138(v0)
|
|
809
839
|
result = v0
|
|
810
840
|
result = v0
|
|
811
841
|
result
|
|
812
842
|
end
|
|
813
843
|
|
|
814
|
-
private def
|
|
844
|
+
private def _ibex_action_139(v0)
|
|
815
845
|
result = v0
|
|
816
846
|
result = v0
|
|
817
847
|
result
|
|
818
848
|
end
|
|
819
849
|
|
|
820
|
-
private def
|
|
850
|
+
private def _ibex_action_140(v0)
|
|
821
851
|
result = v0
|
|
822
852
|
result = v0
|
|
823
853
|
result
|
|
824
854
|
end
|
|
825
855
|
|
|
826
|
-
private def
|
|
856
|
+
private def _ibex_action_141(v0)
|
|
827
857
|
result = v0
|
|
828
858
|
result = v0
|
|
829
859
|
result
|
|
830
860
|
end
|
|
831
861
|
|
|
832
|
-
private def
|
|
862
|
+
private def _ibex_action_142(val)
|
|
833
863
|
result = val[0]
|
|
834
864
|
result = build_separated_list(val[0], val[2], val[4])
|
|
835
865
|
result
|
|
836
866
|
end
|
|
837
867
|
|
|
838
|
-
private def
|
|
868
|
+
private def _ibex_action_143(val)
|
|
839
869
|
result = val[0]
|
|
840
870
|
result = build_separated_list(val[0], val[2], val[4])
|
|
841
871
|
result
|
|
842
872
|
end
|
|
843
873
|
|
|
844
|
-
private def
|
|
874
|
+
private def _ibex_action_144()
|
|
845
875
|
result = nil
|
|
846
876
|
result = empty_user_code
|
|
847
877
|
result
|
|
848
878
|
end
|
|
849
879
|
|
|
850
|
-
private def
|
|
880
|
+
private def _ibex_action_145(v0, v1)
|
|
851
881
|
result = v0
|
|
852
882
|
result = append_user_code(v0, v1)
|
|
853
883
|
result
|