ibex 0.1.0 → 0.3.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 +89 -123
- data/docs/architecture.md +477 -31
- 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 +106 -0
- data/docs/cst.md +237 -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 +262 -0
- data/docs/development.md +306 -0
- data/docs/direct-ielr-decision.md +120 -0
- data/docs/direct-multi-entry-decision.md +82 -0
- data/docs/editor-setup.md +26 -0
- 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 +1581 -0
- data/docs/error-ux-round2.md +111 -0
- data/docs/error-ux.md +114 -0
- data/docs/getting-started.md +80 -0
- data/docs/grammar-reference.md +629 -18
- data/docs/ielr-design.md +43 -0
- data/docs/ielr.md +92 -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 +56 -0
- data/docs/maturity.md +128 -0
- data/docs/project-site-strategy.md +54 -0
- data/docs/racc-migration-evidence.md +45 -0
- data/docs/racc-migration.md +45 -6
- data/docs/release-readiness.md +221 -0
- data/docs/repair-semantics.md +123 -0
- data/docs/runtime-abi-evolution.md +307 -0
- data/docs/stability.md +234 -0
- 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/examples/README.md +60 -0
- data/examples/calculator.y +44 -0
- data/examples/csv.y +32 -0
- data/examples/ini.y +70 -0
- data/examples/json.y +48 -0
- data/examples/tiny_language.y +75 -0
- data/lib/ibex/analysis/digraph.rb +128 -0
- data/lib/ibex/analysis/sets.rb +5 -4
- data/lib/ibex/analysis.rb +1 -0
- data/lib/ibex/artifact_set.rb +63 -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 +75 -0
- 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/counterexample_options.rb +6 -2
- data/lib/ibex/cli/coverage.rb +173 -0
- data/lib/ibex/cli/debug.rb +106 -0
- data/lib/ibex/cli/diagnostics.rb +136 -0
- data/lib/ibex/cli/documentation.rb +70 -0
- data/lib/ibex/cli/equiv.rb +169 -0
- data/lib/ibex/cli/error_messages.rb +184 -0
- data/lib/ibex/cli/explain.rb +85 -0
- data/lib/ibex/cli/fix.rb +203 -0
- data/lib/ibex/cli/formatting.rb +387 -0
- data/lib/ibex/cli/fuzz.rb +200 -0
- data/lib/ibex/cli/fuzz_regressions.rb +145 -0
- data/lib/ibex/cli/generation_artifacts.rb +189 -0
- data/lib/ibex/cli/generation_error_messages.rb +39 -0
- data/lib/ibex/cli/grammar_tests.rb +140 -0
- data/lib/ibex/cli/ir_tools.rb +128 -0
- data/lib/ibex/cli/lsp.rb +33 -0
- data/lib/ibex/cli/outputs.rb +133 -23
- data/lib/ibex/cli/racc_migration.rb +87 -0
- data/lib/ibex/cli/reduce.rb +202 -0
- data/lib/ibex/cli/reduce_reporting.rb +71 -0
- data/lib/ibex/cli/samples.rb +118 -0
- data/lib/ibex/cli/verify.rb +116 -0
- data/lib/ibex/cli/watch.rb +104 -0
- data/lib/ibex/cli.rb +825 -55
- data/lib/ibex/codegen/action_locations.rb +103 -0
- data/lib/ibex/codegen/action_method_source.rb +209 -0
- data/lib/ibex/codegen/action_source.rb +119 -0
- data/lib/ibex/codegen/ambiguity.rb +174 -0
- data/lib/ibex/codegen/cst_metadata.rb +171 -0
- data/lib/ibex/codegen/documentation.rb +170 -0
- data/lib/ibex/codegen/explain.rb +380 -0
- data/lib/ibex/codegen/generated_action_abi.rb +293 -0
- data/lib/ibex/codegen/html.rb +94 -10
- data/lib/ibex/codegen/mermaid.rb +43 -0
- data/lib/ibex/codegen/railroad.rb +197 -0
- data/lib/ibex/codegen/railroad_documentation.rb +59 -0
- data/lib/ibex/codegen/rbs.rb +331 -2
- data/lib/ibex/codegen/report.rb +67 -15
- data/lib/ibex/codegen/ruby.rb +305 -66
- data/lib/ibex/codegen/ruby_actions.rb +146 -0
- data/lib/ibex/codegen/ruby_ast.rb +121 -0
- data/lib/ibex/codegen/ruby_error_messages.rb +28 -0
- data/lib/ibex/codegen/ruby_lexer.rb +83 -0
- data/lib/ibex/codegen/ruby_syntax.rb +96 -0
- data/lib/ibex/codegen/ruby_table_metadata.rb +57 -0
- data/lib/ibex/codegen/ruby_value_printers.rb +56 -0
- data/lib/ibex/codegen/symbol_labels.rb +1 -1
- 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 +198 -0
- data/lib/ibex/coverage/event_stream.rb +103 -0
- data/lib/ibex/coverage/report.rb +267 -0
- data/lib/ibex/coverage/runtime_event_validator.rb +169 -0
- data/lib/ibex/coverage.rb +13 -0
- data/lib/ibex/delta_reducer.rb +99 -0
- data/lib/ibex/diff.rb +140 -0
- data/lib/ibex/equiv/machine.rb +135 -0
- data/lib/ibex/equiv.rb +373 -0
- data/lib/ibex/error_messages/parser.rb +159 -0
- data/lib/ibex/error_messages/parser_v2.rb +198 -0
- data/lib/ibex/error_messages/renderer.rb +65 -0
- data/lib/ibex/error_messages/sentence_search.rb +196 -0
- data/lib/ibex/error_messages/update.rb +169 -0
- data/lib/ibex/error_messages.rb +165 -0
- data/lib/ibex/fix.rb +557 -0
- data/lib/ibex/frontend/ast.rb +166 -7
- data/lib/ibex/frontend/bootstrap_parser.rb +40 -4
- data/lib/ibex/frontend/diagnostic.rb +81 -0
- data/lib/ibex/frontend/diagnostic_recovery.rb +268 -0
- data/lib/ibex/frontend/dsl.rb +66 -7
- data/lib/ibex/frontend/formatter.rb +453 -0
- data/lib/ibex/frontend/generated_parser.rb +644 -190
- data/lib/ibex/frontend/generated_parser_base.rb +170 -32
- data/lib/ibex/frontend/generated_parser_includes.rb +51 -0
- data/lib/ibex/frontend/generated_parser_metadata.rb +61 -0
- data/lib/ibex/frontend/generated_parser_parameters.rb +60 -0
- data/lib/ibex/frontend/generation.rb +33 -0
- data/lib/ibex/frontend/lexer.rb +162 -10
- data/lib/ibex/frontend/lexer_recovery.rb +84 -0
- data/lib/ibex/frontend/parser/declarations.rb +262 -11
- data/lib/ibex/frontend/parser/parameters.rb +82 -0
- data/lib/ibex/frontend/parser/rules.rb +43 -6
- data/lib/ibex/frontend/parser.rb +182 -4
- data/lib/ibex/frontend/parser_configuration_support.rb +56 -0
- data/lib/ibex/frontend/regenerator.rb +27 -1
- data/lib/ibex/frontend/resolution.rb +70 -0
- data/lib/ibex/frontend/resolver.rb +217 -0
- data/lib/ibex/frontend/rule_documentation.rb +104 -0
- data/lib/ibex/frontend/source_cursor.rb +133 -9
- data/lib/ibex/frontend/source_document.rb +229 -0
- data/lib/ibex/frontend/source_loader.rb +150 -0
- data/lib/ibex/frontend/source_span.rb +89 -0
- data/lib/ibex/frontend/token_adapter/declaration_document_state.rb +47 -0
- data/lib/ibex/frontend/token_adapter/declaration_lexer_state.rb +83 -0
- data/lib/ibex/frontend/token_adapter/declaration_state.rb +244 -22
- data/lib/ibex/frontend/token_adapter/delimiter_tracker.rb +8 -2
- data/lib/ibex/frontend/token_adapter/rule_state.rb +60 -2
- data/lib/ibex/frontend/token_adapter.rb +18 -3
- data/lib/ibex/frontend.rb +14 -2
- data/lib/ibex/fuzz.rb +219 -0
- data/lib/ibex/generation_input.rb +57 -0
- data/lib/ibex/generation_manifest.rb +211 -0
- data/lib/ibex/generation_transaction.rb +261 -0
- data/lib/ibex/generation_transaction_recovery.rb +109 -0
- data/lib/ibex/generation_transaction_validation.rb +196 -0
- data/lib/ibex/grammar_tests.rb +206 -0
- data/lib/ibex/ir/automaton_ir.rb +86 -11
- data/lib/ibex/ir/grammar_ir.rb +170 -26
- data/lib/ibex/ir/lexer_ir.rb +76 -0
- data/lib/ibex/ir/parser_contract.rb +135 -0
- data/lib/ibex/ir/serialize.rb +268 -50
- data/lib/ibex/ir/validator/automaton.rb +375 -0
- data/lib/ibex/ir/validator/base.rb +147 -0
- data/lib/ibex/ir/validator/grammar.rb +634 -0
- data/lib/ibex/ir/validator/lexer.rb +113 -0
- data/lib/ibex/ir/validator.rb +63 -0
- data/lib/ibex/ir.rb +71 -5
- data/lib/ibex/lalr/build_metrics.rb +71 -0
- data/lib/ibex/lalr/builder.rb +514 -52
- data/lib/ibex/lalr/conflict.rb +1 -0
- data/lib/ibex/lalr/conflict_search.rb +26 -9
- data/lib/ibex/lalr/counterexample.rb +38 -18
- data/lib/ibex/lalr/direct_lookaheads.rb +289 -0
- 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 +166 -0
- 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/on_error_reductions.rb +74 -0
- data/lib/ibex/lalr/unreachable_states.rb +80 -0
- data/lib/ibex/lalr.rb +59 -1
- data/lib/ibex/location.rb +129 -0
- data/lib/ibex/lsp/document_handlers.rb +68 -0
- data/lib/ibex/lsp/document_store.rb +264 -0
- data/lib/ibex/lsp/document_store_diagnostics.rb +44 -0
- data/lib/ibex/lsp/document_store_validation.rb +61 -0
- data/lib/ibex/lsp/initialization_handlers.rb +80 -0
- data/lib/ibex/lsp/navigation_handlers.rb +70 -0
- data/lib/ibex/lsp/parser_configuration_assistance.rb +149 -0
- data/lib/ibex/lsp/position_codec.rb +113 -0
- data/lib/ibex/lsp/protocol_error.rb +33 -0
- data/lib/ibex/lsp/request_handlers.rb +46 -0
- data/lib/ibex/lsp/request_support.rb +94 -0
- data/lib/ibex/lsp/server.rb +148 -0
- data/lib/ibex/lsp/symbol_index.rb +241 -0
- data/lib/ibex/lsp/symbol_index_builder.rb +277 -0
- data/lib/ibex/lsp/symbol_index_precedence_references.rb +44 -0
- data/lib/ibex/lsp/symbol_index_source_queries.rb +61 -0
- data/lib/ibex/lsp/symbol_occurrence.rb +23 -0
- data/lib/ibex/lsp/transport.rb +128 -0
- data/lib/ibex/lsp/workspace.rb +128 -0
- data/lib/ibex/lsp/workspace_analyzer.rb +199 -0
- data/lib/ibex/lsp.rb +33 -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 +142 -7
- data/lib/ibex/normalize/diagnostics.rb +94 -24
- data/lib/ibex/normalize/expander.rb +64 -59
- data/lib/ibex/normalize/expression.rb +63 -40
- data/lib/ibex/normalize/grammar_builder.rb +26 -0
- data/lib/ibex/normalize/inline_expansion.rb +465 -0
- data/lib/ibex/normalize/inline_validation.rb +174 -0
- data/lib/ibex/normalize/lexer.rb +131 -0
- data/lib/ibex/normalize/named_references.rb +60 -0
- data/lib/ibex/normalize/nodes.rb +46 -0
- data/lib/ibex/normalize/parameter_ebnf_lowering.rb +70 -0
- data/lib/ibex/normalize/parameter_lowering.rb +143 -0
- data/lib/ibex/normalize/parameter_substitution.rb +125 -0
- data/lib/ibex/normalize/parameter_validation.rb +140 -0
- data/lib/ibex/normalize/parameters.rb +226 -0
- data/lib/ibex/normalize/parser_configuration.rb +70 -0
- data/lib/ibex/normalize/recovery_declarations.rb +84 -0
- data/lib/ibex/normalize.rb +172 -17
- data/lib/ibex/racc_migration/checker.rb +122 -0
- data/lib/ibex/racc_migration/harness.rb +177 -0
- data/lib/ibex/racc_migration/report.rb +97 -0
- data/lib/ibex/racc_migration.rb +12 -0
- data/lib/ibex/rake_task.rb +116 -0
- data/lib/ibex/samples.rb +216 -0
- 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 +55 -0
- data/lib/ibex/table_simulation/simulator.rb +253 -0
- data/lib/ibex/table_simulation/step.rb +62 -0
- data/lib/ibex/table_simulation/text.rb +31 -0
- data/lib/ibex/table_simulation.rb +13 -0
- data/lib/ibex/tables.rb +22 -69
- 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 +181 -0
- data/lib/ibex/watch/source_snapshot.rb +98 -0
- data/lib/ibex/watch.rb +11 -0
- data/lib/ibex.rb +35 -1
- data/schema/automaton-ir-definitions.schema.json +401 -0
- data/schema/automaton-ir.schema.json +65 -0
- data/schema/benchmark-v1.schema.json +212 -0
- data/schema/benchmark-v2.schema.json +61 -0
- 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/cst-v1.json +170 -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/error-ux-v1.schema.json +258 -0
- data/schema/explain-v1.schema.json +495 -0
- 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/frontend-diagnostics-v1.schema.json +154 -0
- data/schema/fuzz-regression-v1.schema.json +79 -0
- data/schema/fuzz-v1.schema.json +114 -0
- data/schema/generation-manifest-v1.schema.json +115 -0
- data/schema/grammar-ir-extensions.schema.json +734 -0
- data/schema/grammar-ir-foundation.schema.json +426 -0
- data/schema/grammar-ir.schema.json +271 -0
- data/schema/ielr-benchmark-v1.schema.json +85 -0
- data/schema/lexer-ir-v1.schema.json +215 -0
- data/schema/lexer-profile-v1.schema.json +491 -0
- data/schema/metrics-v1.schema.json +60 -0
- data/schema/migration-check-v1.schema.json +60 -0
- data/schema/performance-comparison-v1.schema.json +395 -0
- data/schema/public-performance-comparison-v1.schema.json +506 -0
- data/schema/public-performance-profile-v1.schema.json +360 -0
- data/schema/reduce-v1.schema.json +22 -0
- data/schema/reduce-v2.schema.json +63 -0
- data/schema/runtime-coverage-v1.schema.json +86 -0
- data/schema/runtime-event-v1.schema.json +308 -0
- data/schema/table-artifact-v1.schema.json +377 -0
- data/schema/table-simulation-v1.schema.json +70 -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/artifact_set.rbs +37 -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 +28 -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/counterexample_options.rbs +2 -0
- data/sig/ibex/cli/coverage.rbs +53 -0
- data/sig/ibex/cli/debug.rbs +28 -0
- data/sig/ibex/cli/diagnostics.rbs +51 -0
- data/sig/ibex/cli/documentation.rbs +29 -0
- data/sig/ibex/cli/equiv.rbs +49 -0
- data/sig/ibex/cli/error_messages.rbs +63 -0
- data/sig/ibex/cli/explain.rbs +31 -0
- data/sig/ibex/cli/fix.rbs +53 -0
- data/sig/ibex/cli/formatting.rbs +107 -0
- data/sig/ibex/cli/fuzz.rbs +47 -0
- data/sig/ibex/cli/fuzz_regressions.rbs +40 -0
- data/sig/ibex/cli/generation_artifacts.rbs +69 -0
- data/sig/ibex/cli/generation_error_messages.rbs +19 -0
- data/sig/ibex/cli/grammar_tests.rbs +48 -0
- data/sig/ibex/cli/ir_tools.rbs +39 -0
- data/sig/ibex/cli/lsp.rbs +14 -0
- data/sig/ibex/cli/outputs.rbs +26 -3
- data/sig/ibex/cli/racc_migration.rbs +30 -0
- data/sig/ibex/cli/reduce.rbs +60 -0
- data/sig/ibex/cli/reduce_reporting.rbs +27 -0
- data/sig/ibex/cli/samples.rbs +38 -0
- data/sig/ibex/cli/verify.rbs +28 -0
- data/sig/ibex/cli/watch.rbs +43 -0
- data/sig/ibex/cli.rbs +182 -9
- data/sig/ibex/codegen/action_locations.rbs +45 -0
- data/sig/ibex/codegen/action_method_source.rbs +65 -0
- data/sig/ibex/codegen/action_source.rbs +50 -0
- data/sig/ibex/codegen/ambiguity.rbs +60 -0
- data/sig/ibex/codegen/cst_metadata.rbs +59 -0
- data/sig/ibex/codegen/documentation.rbs +50 -0
- data/sig/ibex/codegen/explain.rbs +105 -0
- data/sig/ibex/codegen/generated_action_abi.rbs +105 -0
- data/sig/ibex/codegen/html.rbs +18 -2
- data/sig/ibex/codegen/mermaid.rbs +16 -0
- data/sig/ibex/codegen/railroad.rbs +82 -0
- data/sig/ibex/codegen/railroad_documentation.rbs +31 -0
- data/sig/ibex/codegen/rbs.rbs +86 -4
- data/sig/ibex/codegen/report.rbs +16 -8
- data/sig/ibex/codegen/ruby.rbs +105 -28
- data/sig/ibex/codegen/ruby_actions.rbs +54 -0
- data/sig/ibex/codegen/ruby_ast.rbs +34 -0
- data/sig/ibex/codegen/ruby_error_messages.rbs +16 -0
- data/sig/ibex/codegen/ruby_lexer.rbs +25 -0
- data/sig/ibex/codegen/ruby_syntax.rbs +27 -0
- data/sig/ibex/codegen/ruby_table_metadata.rbs +26 -0
- data/sig/ibex/codegen/ruby_value_printers.rbs +28 -0
- 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 +78 -0
- data/sig/ibex/coverage/event_stream.rbs +44 -0
- data/sig/ibex/coverage/report.rbs +102 -0
- data/sig/ibex/coverage/runtime_event_validator.rbs +70 -0
- data/sig/ibex/coverage.rbs +7 -0
- 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/error_messages/parser.rbs +58 -0
- data/sig/ibex/error_messages/parser_v2.rbs +67 -0
- data/sig/ibex/error_messages/renderer.rbs +23 -0
- data/sig/ibex/error_messages/sentence_search.rbs +80 -0
- data/sig/ibex/error_messages/update.rbs +43 -0
- data/sig/ibex/error_messages.rbs +85 -0
- data/sig/ibex/fix.rbs +138 -0
- data/sig/ibex/frontend/ast.rbs +237 -22
- data/sig/ibex/frontend/bootstrap_parser.rbs +13 -0
- data/sig/ibex/frontend/diagnostic.rbs +53 -0
- data/sig/ibex/frontend/diagnostic_recovery.rbs +98 -0
- data/sig/ibex/frontend/dsl.rbs +33 -4
- data/sig/ibex/frontend/formatter.rbs +143 -0
- data/sig/ibex/frontend/generated_parser.rbs +228 -68
- data/sig/ibex/frontend/generated_parser_base.rbs +65 -12
- data/sig/ibex/frontend/generated_parser_includes.rbs +23 -0
- data/sig/ibex/frontend/generated_parser_metadata.rbs +23 -0
- data/sig/ibex/frontend/generated_parser_parameters.rbs +24 -0
- data/sig/ibex/frontend/generation.rbs +6 -0
- data/sig/ibex/frontend/lexer.rbs +49 -2
- data/sig/ibex/frontend/lexer_recovery.rbs +25 -0
- data/sig/ibex/frontend/parser/declarations.rbs +57 -0
- data/sig/ibex/frontend/parser/parameters.rbs +28 -0
- data/sig/ibex/frontend/parser/rules.rbs +3 -0
- data/sig/ibex/frontend/parser.rbs +66 -0
- data/sig/ibex/frontend/parser_configuration_support.rbs +27 -0
- data/sig/ibex/frontend/regenerator.rbs +11 -0
- data/sig/ibex/frontend/resolution.rbs +34 -0
- data/sig/ibex/frontend/resolver.rbs +91 -0
- data/sig/ibex/frontend/rule_documentation.rbs +42 -0
- data/sig/ibex/frontend/source_cursor.rbs +38 -5
- data/sig/ibex/frontend/source_document.rbs +119 -0
- data/sig/ibex/frontend/source_loader.rbs +66 -0
- data/sig/ibex/frontend/source_span.rbs +56 -0
- data/sig/ibex/frontend/token_adapter/declaration_document_state.rbs +21 -0
- data/sig/ibex/frontend/token_adapter/declaration_lexer_state.rbs +27 -0
- data/sig/ibex/frontend/token_adapter/declaration_state.rbs +83 -3
- data/sig/ibex/frontend/token_adapter/rule_state.rbs +20 -0
- data/sig/ibex/frontend/token_adapter.rbs +11 -2
- data/sig/ibex/frontend.rbs +1 -1
- data/sig/ibex/fuzz.rbs +71 -0
- data/sig/ibex/generation_input.rbs +37 -0
- data/sig/ibex/generation_manifest.rbs +70 -0
- data/sig/ibex/generation_transaction.rbs +82 -0
- data/sig/ibex/generation_transaction_recovery.rbs +36 -0
- data/sig/ibex/generation_transaction_validation.rbs +65 -0
- data/sig/ibex/grammar_tests.rbs +93 -0
- data/sig/ibex/ir/automaton_ir.rbs +35 -10
- data/sig/ibex/ir/grammar_ir.rbs +96 -22
- data/sig/ibex/ir/lexer_ir.rbs +57 -0
- data/sig/ibex/ir/parser_contract.rbs +69 -0
- data/sig/ibex/ir/serialize.rbs +75 -23
- data/sig/ibex/ir/validator/automaton.rbs +112 -0
- data/sig/ibex/ir/validator/base.rbs +69 -0
- data/sig/ibex/ir/validator/grammar.rbs +195 -0
- data/sig/ibex/ir/validator/lexer.rbs +37 -0
- data/sig/ibex/ir/validator.rbs +16 -0
- data/sig/ibex/ir.rbs +45 -5
- data/sig/ibex/lalr/build_metrics.rbs +60 -0
- data/sig/ibex/lalr/builder.rbs +150 -19
- data/sig/ibex/lalr/conflict_search.rbs +12 -5
- data/sig/ibex/lalr/counterexample.rbs +20 -14
- data/sig/ibex/lalr/direct_lookaheads.rbs +93 -0
- 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 +71 -0
- 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/on_error_reductions.rbs +22 -0
- data/sig/ibex/lalr/unreachable_states.rbs +25 -0
- data/sig/ibex/lalr.rbs +17 -1
- data/sig/ibex/location.rbs +67 -0
- data/sig/ibex/lsp/document_handlers.rbs +24 -0
- data/sig/ibex/lsp/document_store.rbs +94 -0
- data/sig/ibex/lsp/document_store_diagnostics.rbs +20 -0
- data/sig/ibex/lsp/document_store_validation.rbs +26 -0
- data/sig/ibex/lsp/initialization_handlers.rbs +30 -0
- data/sig/ibex/lsp/navigation_handlers.rbs +33 -0
- data/sig/ibex/lsp/parser_configuration_assistance.rbs +49 -0
- data/sig/ibex/lsp/position_codec.rbs +44 -0
- data/sig/ibex/lsp/protocol_error.rbs +32 -0
- data/sig/ibex/lsp/request_handlers.rbs +26 -0
- data/sig/ibex/lsp/request_support.rbs +40 -0
- data/sig/ibex/lsp/server.rbs +55 -0
- data/sig/ibex/lsp/symbol_index.rbs +77 -0
- data/sig/ibex/lsp/symbol_index_builder.rbs +88 -0
- data/sig/ibex/lsp/symbol_index_precedence_references.rbs +18 -0
- data/sig/ibex/lsp/symbol_index_source_queries.rbs +26 -0
- data/sig/ibex/lsp/symbol_occurrence.rbs +31 -0
- data/sig/ibex/lsp/transport.rbs +47 -0
- data/sig/ibex/lsp/workspace.rbs +42 -0
- data/sig/ibex/lsp/workspace_analyzer.rbs +69 -0
- data/sig/ibex/lsp.rbs +7 -0
- data/sig/ibex/messages.rbs +26 -0
- data/sig/ibex/metrics.rbs +50 -0
- data/sig/ibex/normalize/declarations.rbs +31 -0
- data/sig/ibex/normalize/diagnostics.rbs +13 -4
- data/sig/ibex/normalize/expander.rbs +22 -16
- data/sig/ibex/normalize/expression.rbs +11 -9
- data/sig/ibex/normalize/grammar_builder.rbs +11 -0
- data/sig/ibex/normalize/inline_expansion.rbs +129 -0
- data/sig/ibex/normalize/inline_validation.rbs +40 -0
- data/sig/ibex/normalize/lexer.rbs +37 -0
- data/sig/ibex/normalize/named_references.rbs +20 -0
- data/sig/ibex/normalize/nodes.rbs +14 -0
- data/sig/ibex/normalize/parameter_ebnf_lowering.rbs +33 -0
- data/sig/ibex/normalize/parameter_lowering.rbs +35 -0
- data/sig/ibex/normalize/parameter_substitution.rbs +42 -0
- data/sig/ibex/normalize/parameter_validation.rbs +44 -0
- data/sig/ibex/normalize/parameters.rbs +51 -0
- data/sig/ibex/normalize/parser_configuration.rbs +23 -0
- data/sig/ibex/normalize/recovery_declarations.rbs +24 -0
- data/sig/ibex/normalize.rbs +129 -18
- data/sig/ibex/racc_migration/checker.rbs +36 -0
- data/sig/ibex/racc_migration/harness.rbs +16 -0
- data/sig/ibex/racc_migration/report.rbs +55 -0
- data/sig/ibex/racc_migration.rbs +8 -0
- data/sig/ibex/rake_task.rbs +51 -0
- data/sig/ibex/samples.rbs +60 -0
- 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 +36 -0
- data/sig/ibex/table_simulation/simulator.rbs +98 -0
- data/sig/ibex/table_simulation/step.rbs +42 -0
- data/sig/ibex/table_simulation/text.rbs +14 -0
- data/sig/ibex/table_simulation.rbs +7 -0
- data/sig/ibex/tables.rbs +10 -35
- 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 +58 -0
- data/sig/ibex/watch/source_snapshot.rbs +46 -0
- data/sig/ibex/watch.rbs +7 -0
- data/sig/ibex.rbs +2 -0
- metadata +524 -19
- data/.rubocop.yml +0 -43
- data/CHANGELOG.md +0 -30
- data/Rakefile +0 -25
- data/Steepfile +0 -10
- data/docs/compat-notes.md +0 -37
- data/docs/lexer-coverage.md +0 -14
- data/docs/phase10-extensions.md +0 -27
- data/gemfiles/Gemfile +0 -7
- data/gemfiles/Gemfile.lock +0 -98
- data/lib/ibex/frontend/grammar.y +0 -156
- data/lib/ibex/runtime/parser.rb +0 -360
- data/lib/ibex/runtime.rb +0 -8
- data/sig/ibex/runtime/parser.rbs +0 -167
- data/sig/ibex/runtime.rbs +0 -6
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Generated from lib/ibex/bison_import.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Ibex
|
|
4
|
+
# Clean-room, nonexecuting import of Bison grammar structure.
|
|
5
|
+
module BisonImport
|
|
6
|
+
DIRECTIVES: Hash[String, Symbol]
|
|
7
|
+
|
|
8
|
+
FOREIGN_ACTION_SENTINEL: String
|
|
9
|
+
|
|
10
|
+
STRUCTURAL_STATUS_MARKER: String
|
|
11
|
+
|
|
12
|
+
STRUCTURE_NEUTRAL_UNSUPPORTED: Array[String]
|
|
13
|
+
|
|
14
|
+
class BudgetExceeded < Ibex::Error
|
|
15
|
+
attr_reader details: Hash[Symbol, Object?]
|
|
16
|
+
|
|
17
|
+
# @rbs (Hash[Symbol, Object?] details) -> void
|
|
18
|
+
def initialize: (Hash[Symbol, Object?] details) -> void
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# One directive occurrence and its original source position.
|
|
22
|
+
class Directive
|
|
23
|
+
attr_reader name: String
|
|
24
|
+
|
|
25
|
+
attr_reader status: Symbol
|
|
26
|
+
|
|
27
|
+
attr_reader line: Integer
|
|
28
|
+
|
|
29
|
+
attr_reader column: Integer
|
|
30
|
+
|
|
31
|
+
attr_reader detail: String
|
|
32
|
+
|
|
33
|
+
# @rbs (name: String, status: Symbol, line: Integer, column: Integer, detail: String) -> void
|
|
34
|
+
def initialize: (name: String, status: Symbol, line: Integer, column: Integer, detail: String) -> void
|
|
35
|
+
|
|
36
|
+
# @rbs () -> Hash[Symbol, Object?]
|
|
37
|
+
def to_h: () -> Hash[Symbol, Object?]
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# One opaque C action and its mechanical reference rewrite.
|
|
41
|
+
class Action
|
|
42
|
+
attr_reader id: Integer
|
|
43
|
+
|
|
44
|
+
attr_reader line: Integer
|
|
45
|
+
|
|
46
|
+
attr_reader column: Integer
|
|
47
|
+
|
|
48
|
+
attr_reader original: String
|
|
49
|
+
|
|
50
|
+
attr_reader transformed: String
|
|
51
|
+
|
|
52
|
+
attr_reader encoded: String
|
|
53
|
+
|
|
54
|
+
# @rbs (id: Integer, line: Integer, column: Integer, original: String, transformed: String,
|
|
55
|
+
# encoded: String) -> void
|
|
56
|
+
def initialize: (id: Integer, line: Integer, column: Integer, original: String, transformed: String, encoded: String) -> void
|
|
57
|
+
|
|
58
|
+
# @rbs () -> Hash[Symbol, Object?]
|
|
59
|
+
def to_h: () -> Hash[Symbol, Object?]
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# Immutable source artifact and versioned analysis report.
|
|
63
|
+
class Result
|
|
64
|
+
attr_reader source: String
|
|
65
|
+
|
|
66
|
+
attr_reader file: String
|
|
67
|
+
|
|
68
|
+
attr_reader class_name: String
|
|
69
|
+
|
|
70
|
+
attr_reader directives: Array[Directive]
|
|
71
|
+
|
|
72
|
+
attr_reader actions: Array[Action]
|
|
73
|
+
|
|
74
|
+
attr_reader rule_count: Integer
|
|
75
|
+
|
|
76
|
+
attr_reader bounds: Hash[Symbol, Integer]
|
|
77
|
+
|
|
78
|
+
# @rbs (source: String, file: String, class_name: String, directives: Array[Directive],
|
|
79
|
+
# actions: Array[Action], rule_count: Integer, bounds: Hash[Symbol, Integer]) -> void
|
|
80
|
+
def initialize: (source: String, file: String, class_name: String, directives: Array[Directive], actions: Array[Action], rule_count: Integer, bounds: Hash[Symbol, Integer]) -> void
|
|
81
|
+
|
|
82
|
+
# @rbs () -> Hash[Symbol, Object?]
|
|
83
|
+
def to_h: () -> Hash[Symbol, Object?]
|
|
84
|
+
|
|
85
|
+
# @rbs () -> Array[Directive]
|
|
86
|
+
def structural_unsupported: () -> Array[Directive]
|
|
87
|
+
|
|
88
|
+
# @rbs () -> bool
|
|
89
|
+
def structurally_complete?: () -> bool
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# @rbs (String source) -> bool
|
|
93
|
+
def self?.bison_source?: (String source) -> bool
|
|
94
|
+
end
|
|
95
|
+
end
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Generated from lib/ibex/bounded_subprocess.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Ibex
|
|
4
|
+
# Captures one shell-free child process under wall-clock and output budgets.
|
|
5
|
+
class BoundedSubprocess
|
|
6
|
+
DEFAULT_TIMEOUT_SECONDS: Integer
|
|
7
|
+
|
|
8
|
+
DEFAULT_MAX_OUTPUT_BYTES: Integer
|
|
9
|
+
|
|
10
|
+
TERMINATION_GRACE_SECONDS: Float
|
|
11
|
+
|
|
12
|
+
POLL_SECONDS: Float
|
|
13
|
+
|
|
14
|
+
# Immutable observation of one bounded child-process execution.
|
|
15
|
+
class Result
|
|
16
|
+
attr_reader stdout: String
|
|
17
|
+
|
|
18
|
+
attr_reader stderr: String
|
|
19
|
+
|
|
20
|
+
attr_reader status: Process::Status
|
|
21
|
+
|
|
22
|
+
attr_reader timed_out: bool
|
|
23
|
+
|
|
24
|
+
attr_reader output_limited: bool
|
|
25
|
+
|
|
26
|
+
# @rbs (stdout: String, stderr: String, status: Process::Status,
|
|
27
|
+
# timed_out: bool, output_limited: bool) -> void
|
|
28
|
+
def initialize: (stdout: String, stderr: String, status: Process::Status, timed_out: bool, output_limited: bool) -> void
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @rbs (timeout_seconds: Integer, max_output_bytes: Integer) -> void
|
|
32
|
+
def initialize: (timeout_seconds: Integer, max_output_bytes: Integer) -> void
|
|
33
|
+
|
|
34
|
+
# @rbs (Array[String] command, input: String) -> Result
|
|
35
|
+
def run: (Array[String] command, input: String) -> Result
|
|
36
|
+
|
|
37
|
+
private
|
|
38
|
+
|
|
39
|
+
# @rbs (Array[String] command, String input, File stdin, File stdout, File stderr) -> Result
|
|
40
|
+
def run_with_files: (Array[String] command, String input, File stdin, File stdout, File stderr) -> Result
|
|
41
|
+
|
|
42
|
+
# @rbs (Array[String] command, File stdin, File stdout, File stderr) -> Integer
|
|
43
|
+
def spawn_child: (Array[String] command, File stdin, File stdout, File stderr) -> Integer
|
|
44
|
+
|
|
45
|
+
# @rbs (Integer pid, String stdout_path, String stderr_path) ->
|
|
46
|
+
# [Process::Status, bool, bool]
|
|
47
|
+
def wait: (Integer pid, String stdout_path, String stderr_path) -> [ Process::Status, bool, bool ]
|
|
48
|
+
|
|
49
|
+
# @rbs (Integer pid) -> Process::Status
|
|
50
|
+
def terminate: (Integer pid) -> Process::Status
|
|
51
|
+
|
|
52
|
+
# @rbs (Integer pid) -> void
|
|
53
|
+
def terminate_descendants: (Integer pid) -> void
|
|
54
|
+
|
|
55
|
+
# @rbs (String signal, Integer pid) -> void
|
|
56
|
+
def signal_process_tree: (String signal, Integer pid) -> void
|
|
57
|
+
|
|
58
|
+
# @rbs (Integer pid) -> bool
|
|
59
|
+
def process_group_alive?: (Integer pid) -> bool
|
|
60
|
+
|
|
61
|
+
# @rbs () -> bool
|
|
62
|
+
def process_groups?: () -> bool
|
|
63
|
+
|
|
64
|
+
# @rbs (Integer pid) -> Process::Status
|
|
65
|
+
def process_status: (Integer pid) -> Process::Status
|
|
66
|
+
|
|
67
|
+
# @rbs (String stdout_path, String stderr_path) -> bool
|
|
68
|
+
def output_exceeded?: (String stdout_path, String stderr_path) -> bool
|
|
69
|
+
|
|
70
|
+
# @rbs (String path) -> String
|
|
71
|
+
def read_bounded: (String path) -> String
|
|
72
|
+
|
|
73
|
+
# @rbs () -> Float
|
|
74
|
+
def monotonic_time: () -> Float
|
|
75
|
+
end
|
|
76
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Generated from lib/ibex/cli/ambiguity.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Ibex
|
|
4
|
+
# Bounded grammar ambiguity checking for CI and human inspection.
|
|
5
|
+
module CLIAmbiguity
|
|
6
|
+
private def print_help: (OptionParser) -> Integer
|
|
7
|
+
|
|
8
|
+
private def input_path: (Array[String]) -> String
|
|
9
|
+
|
|
10
|
+
private def positive_counterexample_limit: (Integer, String) -> Integer
|
|
11
|
+
|
|
12
|
+
private def normalize_grammar_path: (String) -> IR::Grammar
|
|
13
|
+
|
|
14
|
+
private def configuration_value: (String) -> untyped
|
|
15
|
+
|
|
16
|
+
private def set_configuration_option: (Symbol, Object?) -> void
|
|
17
|
+
|
|
18
|
+
private
|
|
19
|
+
|
|
20
|
+
# @rbs (Array[String] arguments) -> Integer
|
|
21
|
+
def run_check_command: (Array[String] arguments) -> Integer
|
|
22
|
+
|
|
23
|
+
# @rbs () -> OptionParser
|
|
24
|
+
def ambiguity_option_parser: () -> OptionParser
|
|
25
|
+
|
|
26
|
+
private def activate_analysis_grammar: (IR::Grammar, ?options: Hash[Symbol, Object?], ?explicit_keys: Array[Symbol]) -> IR::Grammar
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Generated from lib/ibex/cli/analysis.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Ibex
|
|
4
|
+
# CLI entry points for deterministic grammar diff and metrics reports.
|
|
5
|
+
module CLIAnalysis
|
|
6
|
+
type analysis_options = Hash[Symbol, untyped]
|
|
7
|
+
|
|
8
|
+
private def normalize_grammar_path: (String) -> IR::Grammar
|
|
9
|
+
|
|
10
|
+
private def set_configuration_option: (Symbol, Object?) -> void
|
|
11
|
+
|
|
12
|
+
private def local_configuration_value: (Hash[Symbol, untyped], String) -> untyped
|
|
13
|
+
|
|
14
|
+
private def set_local_configuration_option: (Hash[Symbol, untyped], Symbol, untyped) -> void
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
|
|
18
|
+
# @rbs (Array[String] arguments) -> Integer
|
|
19
|
+
def run_diff_command: (Array[String] arguments) -> Integer
|
|
20
|
+
|
|
21
|
+
# @rbs (Array[String] arguments) -> Integer
|
|
22
|
+
def run_metrics_command: (Array[String] arguments) -> Integer
|
|
23
|
+
|
|
24
|
+
# @rbs (Array[String] arguments, String command, operands: String) -> Hash[Symbol, untyped]
|
|
25
|
+
def analysis_options: (Array[String] arguments, String command, operands: String) -> Hash[Symbol, untyped]
|
|
26
|
+
|
|
27
|
+
# @rbs (String path, Symbol algorithm, explicit: bool) -> IR::Automaton
|
|
28
|
+
def load_analysis_automaton: (String path, Symbol algorithm, explicit: bool) -> IR::Automaton
|
|
29
|
+
|
|
30
|
+
# @rbs (IR::Grammar grammar, Symbol algorithm, bool algorithm_explicit) -> IR::Automaton
|
|
31
|
+
def build_analysis_automaton: (IR::Grammar grammar, Symbol algorithm, bool algorithm_explicit) -> IR::Automaton
|
|
32
|
+
|
|
33
|
+
# @rbs (Hash[Symbol, untyped] report, String format) -> void
|
|
34
|
+
def write_analysis_report: (Hash[Symbol, untyped] report, String format) -> void
|
|
35
|
+
|
|
36
|
+
# @rbs (Hash[Symbol, untyped] settings) -> bool
|
|
37
|
+
def algo_set?: (Hash[Symbol, untyped] settings) -> bool
|
|
38
|
+
|
|
39
|
+
private def activate_analysis_grammar: (IR::Grammar, ?options: Hash[Symbol, untyped], ?explicit_keys: Array[Symbol]) -> IR::Grammar
|
|
40
|
+
|
|
41
|
+
private def configuration_value: (String) -> untyped
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Generated from lib/ibex/cli/bison_import.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Ibex
|
|
4
|
+
# CLI boundary for analysis-only Bison grammar import.
|
|
5
|
+
module CLIBisonImport
|
|
6
|
+
type bison_import_options = { format: String, max_bytes: Integer, max_tokens: Integer, max_rules: Integer, max_actions: Integer, ?output: String, ?class_name: String, ?help: bool }
|
|
7
|
+
|
|
8
|
+
private def same_file_target?: (String, String) -> bool
|
|
9
|
+
|
|
10
|
+
private def atomic_write_ir: (String, String) -> void
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
|
|
14
|
+
# @rbs (Array[String] arguments) -> Integer
|
|
15
|
+
def run_bison_import_command: (Array[String] arguments) -> Integer
|
|
16
|
+
|
|
17
|
+
# @rbs () -> bison_import_options
|
|
18
|
+
def default_bison_import_options: () -> bison_import_options
|
|
19
|
+
|
|
20
|
+
# @rbs (bison_import_options settings) -> OptionParser
|
|
21
|
+
def bison_import_option_parser: (bison_import_options settings) -> OptionParser
|
|
22
|
+
|
|
23
|
+
# @rbs (OptionParser options, bison_import_options settings) -> void
|
|
24
|
+
def add_bison_import_budgets: (OptionParser options, bison_import_options settings) -> void
|
|
25
|
+
|
|
26
|
+
# @rbs (String path, bison_import_options settings) -> BisonImport::Result
|
|
27
|
+
def build_bison_import: (String path, bison_import_options settings) -> BisonImport::Result
|
|
28
|
+
|
|
29
|
+
# @rbs (String input, String? output, String source) -> void
|
|
30
|
+
def write_bison_import: (String input, String? output, String source) -> void
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Generated from lib/ibex/cli/config.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Ibex
|
|
4
|
+
# Static effective-configuration reporting for source grammars and Grammar IR.
|
|
5
|
+
module CLIConfig
|
|
6
|
+
type config_options = { format: String, mode: Symbol, configuration_explicit: Array[Symbol], ?from: String, ?algorithm: Symbol, ?entry_isolation: bool, ?cst_trivia: Symbol, ?superclass: String, ?omit_actions: bool, ?help: String }
|
|
7
|
+
|
|
8
|
+
private def input_path: (Array[String]) -> String
|
|
9
|
+
|
|
10
|
+
private def set_local_configuration_option: (Hash[Symbol, Object?], Symbol, Object?) -> void
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
|
|
14
|
+
# @rbs (Array[String] arguments) -> Integer
|
|
15
|
+
def run_config_command: (Array[String] arguments) -> Integer
|
|
16
|
+
|
|
17
|
+
# @rbs (Array[String] arguments) -> [config_options, Array[String]]
|
|
18
|
+
def config_options: (Array[String] arguments) -> [ config_options, Array[String] ]
|
|
19
|
+
|
|
20
|
+
# @rbs (OptionParser options, config_options settings) -> void
|
|
21
|
+
def add_config_options: (OptionParser options, config_options settings) -> void
|
|
22
|
+
|
|
23
|
+
# @rbs (OptionParser options, config_options settings) -> void
|
|
24
|
+
def add_config_contract_options: (OptionParser options, config_options settings) -> void
|
|
25
|
+
|
|
26
|
+
# @rbs (String path, config_options settings) -> Configuration::Input
|
|
27
|
+
def load_configuration_input: (String path, config_options settings) -> Configuration::Input
|
|
28
|
+
|
|
29
|
+
# @rbs (String path) -> Configuration::Input
|
|
30
|
+
def load_grammar_ir_configuration: (String path) -> Configuration::Input
|
|
31
|
+
|
|
32
|
+
# @rbs (Configuration::Report report, String format) -> void
|
|
33
|
+
def write_configuration_report: (Configuration::Report report, String format) -> void
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Generated from lib/ibex/cli/coverage.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Ibex
|
|
4
|
+
# CLI collection, merge, and threshold checks for runtime coverage.
|
|
5
|
+
module CLICoverage
|
|
6
|
+
private def same_file_target?: (String left, String right) -> bool
|
|
7
|
+
|
|
8
|
+
type coverage_output_options = { paths: Array[String], ?output: String }
|
|
9
|
+
|
|
10
|
+
type coverage_check_options = { paths: Array[String], min_states: Float, min_productions: Float }
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
|
|
14
|
+
# @rbs (Array[String] arguments) -> Integer
|
|
15
|
+
def run_coverage_command: (Array[String] arguments) -> Integer
|
|
16
|
+
|
|
17
|
+
# @rbs (Array[String] arguments) -> Integer
|
|
18
|
+
def run_coverage_collect: (Array[String] arguments) -> Integer
|
|
19
|
+
|
|
20
|
+
# @rbs (Array[String] arguments) -> Integer
|
|
21
|
+
def run_coverage_merge: (Array[String] arguments) -> Integer
|
|
22
|
+
|
|
23
|
+
# @rbs (Array[String] arguments) -> Integer
|
|
24
|
+
def run_coverage_check: (Array[String] arguments) -> Integer
|
|
25
|
+
|
|
26
|
+
# @rbs (Array[String] arguments, String command, String operands) -> coverage_output_options
|
|
27
|
+
def coverage_output_options: (Array[String] arguments, String command, String operands) -> coverage_output_options
|
|
28
|
+
|
|
29
|
+
# @rbs (Array[String] arguments) -> coverage_check_options
|
|
30
|
+
def coverage_check_options: (Array[String] arguments) -> coverage_check_options
|
|
31
|
+
|
|
32
|
+
# @rbs (Float value, String name) -> Float
|
|
33
|
+
def coverage_threshold: (Float value, String name) -> Float
|
|
34
|
+
|
|
35
|
+
# @rbs (Integer covered, Integer total) -> Float
|
|
36
|
+
def coverage_percentage: (Integer covered, Integer total) -> Float
|
|
37
|
+
|
|
38
|
+
# @rbs (Array[String] arguments, String command) -> String
|
|
39
|
+
def single_coverage_path: (Array[String] arguments, String command) -> String
|
|
40
|
+
|
|
41
|
+
# @rbs (Array[String] inputs, String? output) -> void
|
|
42
|
+
def reject_coverage_output_collision: (Array[String] inputs, String? output) -> void
|
|
43
|
+
|
|
44
|
+
# @rbs (Coverage::Report report, String? output) -> void
|
|
45
|
+
def write_coverage_report: (Coverage::Report report, String? output) -> void
|
|
46
|
+
|
|
47
|
+
# @rbs (String path, String source) -> void
|
|
48
|
+
def atomic_write_coverage: (String path, String source) -> void
|
|
49
|
+
|
|
50
|
+
# @rbs (String path) -> Integer
|
|
51
|
+
def coverage_file_mode: (String path) -> Integer
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Generated from lib/ibex/cli/debug.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Ibex
|
|
4
|
+
# Safe parser-table simulation subcommand.
|
|
5
|
+
module CLIDebug
|
|
6
|
+
type debug_options = { paths: Array[String], format: String, max_steps: Integer, max_stack: Integer }
|
|
7
|
+
|
|
8
|
+
private
|
|
9
|
+
|
|
10
|
+
# @rbs (Array[String] arguments) -> Integer
|
|
11
|
+
def run_debug_command: (Array[String] arguments) -> Integer
|
|
12
|
+
|
|
13
|
+
# @rbs (Array[String] arguments) -> debug_options
|
|
14
|
+
def debug_options: (Array[String] arguments) -> debug_options
|
|
15
|
+
|
|
16
|
+
# @rbs (Integer value, String name) -> Integer
|
|
17
|
+
def positive_debug_budget: (Integer value, String name) -> Integer
|
|
18
|
+
|
|
19
|
+
# @rbs (TableSimulation::Simulator simulator, String format) -> TableSimulation::Result
|
|
20
|
+
def simulate_debug_input: (TableSimulation::Simulator simulator, String format) -> TableSimulation::Result
|
|
21
|
+
|
|
22
|
+
# @rbs (TableSimulation::Result result, String format, steps_written: bool) -> void
|
|
23
|
+
def write_debug_result: (TableSimulation::Result result, String format, steps_written: bool) -> void
|
|
24
|
+
|
|
25
|
+
# @rbs (Array[TableSimulation::Step] steps) -> void
|
|
26
|
+
def write_debug_steps: (Array[TableSimulation::Step] steps) -> void
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Generated from lib/ibex/cli/diagnostics.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Ibex
|
|
4
|
+
# Batch frontend diagnostics subcommand.
|
|
5
|
+
module CLIDiagnostics
|
|
6
|
+
DIAGNOSTICS_SCHEMA_VERSION: Integer
|
|
7
|
+
|
|
8
|
+
DEFAULT_MAX_DIAGNOSTICS: Integer
|
|
9
|
+
|
|
10
|
+
type diagnostic_settings = Hash[Symbol, untyped]
|
|
11
|
+
|
|
12
|
+
private def input_path: (Array[String]) -> String
|
|
13
|
+
|
|
14
|
+
private def local_configuration_value: (Hash[Symbol, Object?], String) -> Object?
|
|
15
|
+
|
|
16
|
+
private def set_local_configuration_option: (Hash[Symbol, Object?], Symbol, Object?) -> void
|
|
17
|
+
|
|
18
|
+
private
|
|
19
|
+
|
|
20
|
+
# @rbs (Array[String] arguments) -> Integer
|
|
21
|
+
def run_diagnose_command: (Array[String] arguments) -> Integer
|
|
22
|
+
|
|
23
|
+
# Cross-file recovery is deliberately bounded to the first resolver error.
|
|
24
|
+
# @rbs (Frontend::ParseResult result, String path, Symbol mode) -> Frontend::ParseResult
|
|
25
|
+
def resolve_diagnostic_result: (Frontend::ParseResult result, String path, Symbol mode) -> Frontend::ParseResult
|
|
26
|
+
|
|
27
|
+
# @rbs (Ibex::Error error, String fallback_file) -> Frontend::Diagnostic
|
|
28
|
+
def resolution_diagnostic: (Ibex::Error error, String fallback_file) -> Frontend::Diagnostic
|
|
29
|
+
|
|
30
|
+
# @rbs (diagnostic_settings settings) -> OptionParser
|
|
31
|
+
def diagnostics_option_parser: (diagnostic_settings settings) -> OptionParser
|
|
32
|
+
|
|
33
|
+
# @rbs (String value) -> Integer
|
|
34
|
+
def positive_diagnostic_limit: (String value) -> Integer
|
|
35
|
+
|
|
36
|
+
# @rbs (Frontend::ParseResult result, format: String) -> void
|
|
37
|
+
def write_diagnostics: (Frontend::ParseResult result, format: String) -> void
|
|
38
|
+
|
|
39
|
+
# @rbs (Frontend::ParseResult result) -> Hash[String, Object?]
|
|
40
|
+
def diagnostics_document: (Frontend::ParseResult result) -> Hash[String, Object?]
|
|
41
|
+
|
|
42
|
+
# @rbs (Frontend::Diagnostic diagnostic) -> String
|
|
43
|
+
def localized_diagnostic_text: (Frontend::Diagnostic diagnostic) -> String
|
|
44
|
+
|
|
45
|
+
# @rbs (Frontend::Diagnostic diagnostic) -> Hash[Symbol, Object?]
|
|
46
|
+
def localized_diagnostic_hash: (Frontend::Diagnostic diagnostic) -> Hash[Symbol, Object?]
|
|
47
|
+
|
|
48
|
+
# @rbs (Frontend::Diagnostic diagnostic) -> String
|
|
49
|
+
def localized_diagnostic_message: (Frontend::Diagnostic diagnostic) -> String
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Generated from lib/ibex/cli/documentation.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Ibex
|
|
4
|
+
# Generates standalone grammar documentation from the canonical include closure.
|
|
5
|
+
module CLIDocumentation
|
|
6
|
+
type documentation_settings = Hash[Symbol, untyped]
|
|
7
|
+
|
|
8
|
+
private def input_path: (Array[String]) -> String
|
|
9
|
+
|
|
10
|
+
private def same_file_target?: (String left, String right) -> bool
|
|
11
|
+
|
|
12
|
+
private def atomic_write_ir: (String path, String source) -> void
|
|
13
|
+
|
|
14
|
+
private def local_configuration_value: (Hash[Symbol, Object?], String) -> Object?
|
|
15
|
+
|
|
16
|
+
private def set_local_configuration_option: (Hash[Symbol, Object?], Symbol, Object?) -> void
|
|
17
|
+
|
|
18
|
+
private
|
|
19
|
+
|
|
20
|
+
# @rbs (Array[String] arguments) -> Integer
|
|
21
|
+
def run_documentation_command: (Array[String] arguments) -> Integer
|
|
22
|
+
|
|
23
|
+
# @rbs (String output, Array[String] grammar_files) -> void
|
|
24
|
+
def reject_documentation_output_collision: (String output, Array[String] grammar_files) -> void
|
|
25
|
+
|
|
26
|
+
# @rbs (documentation_settings settings) -> OptionParser
|
|
27
|
+
def documentation_option_parser: (documentation_settings settings) -> OptionParser
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Generated from lib/ibex/cli/equiv.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Ibex
|
|
4
|
+
# CLI entry point for bounded language comparison.
|
|
5
|
+
module CLIEquiv
|
|
6
|
+
type equiv_options = Hash[Symbol, untyped]
|
|
7
|
+
|
|
8
|
+
private def normalize_grammar_path: (String) -> IR::Grammar
|
|
9
|
+
|
|
10
|
+
private def configuration_value: (String) -> untyped
|
|
11
|
+
|
|
12
|
+
private def set_configuration_option: (Symbol, Object?) -> void
|
|
13
|
+
|
|
14
|
+
private def local_configuration_value: (Hash[Symbol, Object?], String) -> Object?
|
|
15
|
+
|
|
16
|
+
private def set_local_configuration_option: (Hash[Symbol, Object?], Symbol, Object?) -> void
|
|
17
|
+
|
|
18
|
+
private
|
|
19
|
+
|
|
20
|
+
# @rbs (Array[String] arguments) -> Integer
|
|
21
|
+
def run_equiv_command: (Array[String] arguments) -> Integer
|
|
22
|
+
|
|
23
|
+
# @rbs (Array[String] arguments) -> equiv_options
|
|
24
|
+
def equiv_options: (Array[String] arguments) -> equiv_options
|
|
25
|
+
|
|
26
|
+
# @rbs () -> equiv_options
|
|
27
|
+
def default_equiv_options: () -> equiv_options
|
|
28
|
+
|
|
29
|
+
# @rbs (OptionParser options, equiv_options settings) -> void
|
|
30
|
+
def add_equiv_search_options: (OptionParser options, equiv_options settings) -> void
|
|
31
|
+
|
|
32
|
+
# @rbs (String path, Symbol algorithm, explicit: bool) -> IR::Automaton
|
|
33
|
+
def load_equiv_automaton: (String path, Symbol algorithm, explicit: bool) -> IR::Automaton
|
|
34
|
+
|
|
35
|
+
# @rbs (IR::Grammar grammar, Symbol algorithm, bool algorithm_explicit) -> IR::Automaton
|
|
36
|
+
def build_equiv_automaton: (IR::Grammar grammar, Symbol algorithm, bool algorithm_explicit) -> IR::Automaton
|
|
37
|
+
|
|
38
|
+
# @rbs (Hash[Symbol, Object?] report, String format) -> void
|
|
39
|
+
def write_equiv_report: (Hash[Symbol, Object?] report, String format) -> void
|
|
40
|
+
|
|
41
|
+
# @rbs (equiv_options settings) -> bool
|
|
42
|
+
def algorithm_explicit_equiv?: (equiv_options settings) -> bool
|
|
43
|
+
|
|
44
|
+
private def activate_analysis_grammar: (IR::Grammar, ?options: Hash[Symbol, Object?], ?explicit_keys: Array[Symbol]) -> IR::Grammar
|
|
45
|
+
|
|
46
|
+
# @rbs (Integer value, String name) -> Integer
|
|
47
|
+
def positive_equiv_option: (Integer value, String name) -> Integer
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Generated from lib/ibex/cli/error_messages.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Ibex
|
|
4
|
+
# CLI subcommand and generation-file handling for example-keyed errors.
|
|
5
|
+
module CLIErrorMessages
|
|
6
|
+
private def print_help: (OptionParser) -> Integer
|
|
7
|
+
|
|
8
|
+
private def input_path: (Array[String]) -> String
|
|
9
|
+
|
|
10
|
+
private def warning_categories: (String) -> Array[Symbol]
|
|
11
|
+
|
|
12
|
+
private def report_status: (String) -> void
|
|
13
|
+
|
|
14
|
+
private def handle_grammar_warnings: (IR::Grammar, String) -> void
|
|
15
|
+
|
|
16
|
+
private def build_automaton: (IR::Grammar, String) -> IR::Automaton
|
|
17
|
+
|
|
18
|
+
private def prepare_loaded_automaton: (IR::Automaton, String) -> void
|
|
19
|
+
|
|
20
|
+
private def default_output_path: (String, String) -> String
|
|
21
|
+
|
|
22
|
+
private def same_file_target?: (String, String) -> bool
|
|
23
|
+
|
|
24
|
+
private def normalize_grammar_path: (String) -> IR::Grammar
|
|
25
|
+
|
|
26
|
+
private def record_generation_input: (String, String) -> GenerationInput
|
|
27
|
+
|
|
28
|
+
private def select_configuration_mode: (String) -> void
|
|
29
|
+
|
|
30
|
+
private def set_configuration_option: (Symbol, Object?) -> void
|
|
31
|
+
|
|
32
|
+
private
|
|
33
|
+
|
|
34
|
+
# @rbs (Array[String] arguments) -> Integer
|
|
35
|
+
def run_error_messages_command: (Array[String] arguments) -> Integer
|
|
36
|
+
|
|
37
|
+
# @rbs () -> OptionParser
|
|
38
|
+
def error_messages_option_parser: () -> OptionParser
|
|
39
|
+
|
|
40
|
+
# @rbs (String input_path) -> IR::Automaton
|
|
41
|
+
def automaton_for_error_messages: (String input_path) -> IR::Automaton
|
|
42
|
+
|
|
43
|
+
# @rbs (String input_path) -> IR::Automaton
|
|
44
|
+
def automaton_from_ir_for_messages: (String input_path) -> IR::Automaton
|
|
45
|
+
|
|
46
|
+
# @rbs (IR::Automaton automaton, String input_path) -> void
|
|
47
|
+
def write_error_messages: (IR::Automaton automaton, String input_path) -> void
|
|
48
|
+
|
|
49
|
+
# @rbs () -> { max_tokens: Integer, max_configurations: Integer }
|
|
50
|
+
def error_message_search_limits: () -> { max_tokens: Integer, max_configurations: Integer }
|
|
51
|
+
|
|
52
|
+
# @rbs (Integer value, String option) -> Integer
|
|
53
|
+
def positive_messages_limit: (Integer value, String option) -> Integer
|
|
54
|
+
|
|
55
|
+
# @rbs (ErrorMessages::Update update) -> void
|
|
56
|
+
def write_error_message_update_report: (ErrorMessages::Update update) -> void
|
|
57
|
+
|
|
58
|
+
# @rbs (String path) -> Integer
|
|
59
|
+
def messages_file_mode: (String path) -> Integer
|
|
60
|
+
|
|
61
|
+
private def activate_analysis_grammar: (IR::Grammar, ?options: Hash[Symbol, Object?], ?explicit_keys: Array[Symbol]) -> IR::Grammar
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Generated from lib/ibex/cli/explain.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Ibex
|
|
4
|
+
# Dedicated command-line view for selected parser conflicts.
|
|
5
|
+
module CLIExplain
|
|
6
|
+
private def print_help: (OptionParser) -> Integer
|
|
7
|
+
|
|
8
|
+
private def input_path: (Array[String]) -> String
|
|
9
|
+
|
|
10
|
+
private def positive_counterexample_limit: (Integer, String) -> Integer
|
|
11
|
+
|
|
12
|
+
private def normalize_grammar_path: (String) -> IR::Grammar
|
|
13
|
+
|
|
14
|
+
private def configuration_value: (String) -> untyped
|
|
15
|
+
|
|
16
|
+
private def set_configuration_option: (Symbol, Object?) -> void
|
|
17
|
+
|
|
18
|
+
private
|
|
19
|
+
|
|
20
|
+
# @rbs (Array[String] arguments) -> Integer
|
|
21
|
+
def run_explain_command: (Array[String] arguments) -> Integer
|
|
22
|
+
|
|
23
|
+
# @rbs () -> OptionParser
|
|
24
|
+
def explain_option_parser: () -> OptionParser
|
|
25
|
+
|
|
26
|
+
# @rbs (OptionParser options) -> void
|
|
27
|
+
def add_explain_search_options: (OptionParser options) -> void
|
|
28
|
+
|
|
29
|
+
private def activate_analysis_grammar: (IR::Grammar, ?options: Hash[Symbol, Object?], ?explicit_keys: Array[Symbol]) -> IR::Grammar
|
|
30
|
+
end
|
|
31
|
+
end
|