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.
Files changed (461) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +100 -272
  3. data/docs/architecture.md +187 -35
  4. data/docs/bison-import.md +103 -0
  5. data/docs/comparison-policy.md +127 -0
  6. data/docs/configuration-model.md +59 -0
  7. data/docs/configuration-report.md +28 -0
  8. data/docs/conflict-explanation-reviews/v1/records/README.md +28 -0
  9. data/docs/conflict-explanation-study.md +62 -0
  10. data/docs/construction-profiling.md +157 -0
  11. data/docs/cst-migration.md +3 -4
  12. data/docs/cst.md +24 -0
  13. data/docs/decisions/0000-template.md +24 -0
  14. data/docs/decisions/0001-separate-ir-pipeline.md +34 -0
  15. data/docs/decisions/0002-opaque-user-code-boundary.md +32 -0
  16. data/docs/decisions/0003-self-hosted-grammar-frontend.md +32 -0
  17. data/docs/decisions/0004-shared-semantic-and-lossless-source-model.md +33 -0
  18. data/docs/decisions/0005-contained-grammar-composition.md +34 -0
  19. data/docs/decisions/0006-bounded-structural-grammar-lowering.md +32 -0
  20. data/docs/decisions/0007-shared-parser-construction-pipeline.md +33 -0
  21. data/docs/decisions/0008-versioned-runtime-package-boundary.md +36 -0
  22. data/docs/decisions/0009-isolated-parser-sessions.md +34 -0
  23. data/docs/decisions/0010-committed-runtime-observation.md +34 -0
  24. data/docs/decisions/0011-versioned-semantic-action-boundary.md +37 -0
  25. data/docs/decisions/0012-bounded-nonexecuting-analysis.md +37 -0
  26. data/docs/decisions/0013-transactional-generation-publication.md +37 -0
  27. data/docs/decisions/0014-versioned-generated-lexer.md +35 -0
  28. data/docs/decisions/0015-worker-isolated-browser-analysis.md +32 -0
  29. data/docs/decisions/0016-red-green-concrete-syntax.md +34 -0
  30. data/docs/decisions/0017-persistent-syntax-artifacts.md +35 -0
  31. data/docs/decisions/0018-conservative-incremental-syntax-reuse.md +38 -0
  32. data/docs/decisions/0019-runtime-syntax-session-boundary.md +51 -0
  33. data/docs/decisions/0020-grammar-ir-parser-contract.md +65 -0
  34. data/docs/decisions/0021-data-only-parser-table-sidecar.md +50 -0
  35. data/docs/decisions/0022-manifest-bound-verification-report.md +77 -0
  36. data/docs/decisions/0023-syntax-only-repair-results.md +48 -0
  37. data/docs/decisions/0024-direct-ielr-construction.md +42 -0
  38. data/docs/decisions/README.md +74 -0
  39. data/docs/declarative-configuration.md +274 -0
  40. data/docs/development.md +196 -2
  41. data/docs/direct-ielr-decision.md +120 -0
  42. data/docs/direct-multi-entry-decision.md +82 -0
  43. data/docs/editor-setup.md +2 -1
  44. data/docs/error-ux-review-rubric-v1.md +117 -0
  45. data/docs/error-ux-reviews/v1/records/README.md +22 -0
  46. data/docs/error-ux-round2-review-status-v1.json +27 -0
  47. data/docs/error-ux-round2-reviews/v1/records/README.md +30 -0
  48. data/docs/error-ux-round2-v1.json +1617 -0
  49. data/docs/error-ux-round2.md +111 -0
  50. data/docs/error-ux.md +54 -0
  51. data/docs/getting-started.md +80 -0
  52. data/docs/grammar-reference.md +184 -13
  53. data/docs/ielr-design.md +43 -0
  54. data/docs/ielr.md +92 -0
  55. data/docs/impact.md +101 -0
  56. data/docs/ja/bison-import.md +51 -0
  57. data/docs/ja/stable-api.md +53 -0
  58. data/docs/lexer-construction-profile.md +109 -0
  59. data/docs/lexer-migration.md +5 -0
  60. data/docs/maturity.md +129 -0
  61. data/docs/project-site-strategy.md +54 -0
  62. data/docs/racc-migration-evidence.md +45 -0
  63. data/docs/racc-migration.md +11 -0
  64. data/docs/release-readiness.md +126 -68
  65. data/docs/repair-semantics.md +123 -0
  66. data/docs/runtime-abi-evolution.md +310 -0
  67. data/docs/stability.md +145 -34
  68. data/docs/status.md +43 -0
  69. data/docs/syntax-sessions.md +183 -0
  70. data/docs/table-artifact.md +125 -0
  71. data/docs/test-interactions.md +219 -0
  72. data/docs/verification-report.md +137 -0
  73. data/docs/verifier-trust-boundary.md +199 -0
  74. data/docs/workloads.md +132 -0
  75. data/lib/ibex/analysis/digraph.rb +128 -0
  76. data/lib/ibex/analysis/sets.rb +14 -0
  77. data/lib/ibex/analysis.rb +1 -0
  78. data/lib/ibex/bison_import/importer.rb +516 -0
  79. data/lib/ibex/bison_import/tokenizer.rb +260 -0
  80. data/lib/ibex/bison_import.rb +200 -0
  81. data/lib/ibex/bounded_subprocess.rb +171 -0
  82. data/lib/ibex/cli/ambiguity.rb +14 -5
  83. data/lib/ibex/cli/analysis.rb +134 -0
  84. data/lib/ibex/cli/bison_import.rb +121 -0
  85. data/lib/ibex/cli/config.rb +128 -0
  86. data/lib/ibex/cli/diagnostics.rb +31 -11
  87. data/lib/ibex/cli/documentation.rb +11 -8
  88. data/lib/ibex/cli/equiv.rb +169 -0
  89. data/lib/ibex/cli/error_messages.rb +11 -4
  90. data/lib/ibex/cli/explain.rb +14 -5
  91. data/lib/ibex/cli/fix.rb +203 -0
  92. data/lib/ibex/cli/formatting.rb +11 -10
  93. data/lib/ibex/cli/fuzz.rb +200 -0
  94. data/lib/ibex/cli/fuzz_regressions.rb +145 -0
  95. data/lib/ibex/cli/generation_artifacts.rb +53 -2
  96. data/lib/ibex/cli/generation_error_messages.rb +1 -1
  97. data/lib/ibex/cli/grammar_tests.rb +32 -14
  98. data/lib/ibex/cli/impact.rb +393 -0
  99. data/lib/ibex/cli/ir_tools.rb +5 -61
  100. data/lib/ibex/cli/outputs.rb +60 -33
  101. data/lib/ibex/cli/reduce.rb +202 -0
  102. data/lib/ibex/cli/reduce_reporting.rb +71 -0
  103. data/lib/ibex/cli/samples.rb +49 -23
  104. data/lib/ibex/cli/verify.rb +116 -0
  105. data/lib/ibex/cli/watch.rb +6 -5
  106. data/lib/ibex/cli.rb +362 -56
  107. data/lib/ibex/codegen/action_locations.rb +1 -1
  108. data/lib/ibex/codegen/action_method_source.rb +5 -6
  109. data/lib/ibex/codegen/action_source.rb +3 -2
  110. data/lib/ibex/codegen/ambiguity.rb +5 -4
  111. data/lib/ibex/codegen/explain.rb +123 -55
  112. data/lib/ibex/codegen/generated_action_abi.rb +10 -5
  113. data/lib/ibex/codegen/rbs.rb +15 -7
  114. data/lib/ibex/codegen/report.rb +25 -13
  115. data/lib/ibex/codegen/ruby.rb +28 -64
  116. data/lib/ibex/codegen/ruby_actions.rb +9 -6
  117. data/lib/ibex/codegen/ruby_syntax.rb +15 -9
  118. data/lib/ibex/configuration/analysis_grammar.rb +35 -0
  119. data/lib/ibex/configuration/explanation.rb +421 -0
  120. data/lib/ibex/configuration/inspector.rb +232 -0
  121. data/lib/ibex/configuration.rb +580 -0
  122. data/lib/ibex/coverage/collector.rb +21 -11
  123. data/lib/ibex/coverage/event_stream.rb +13 -7
  124. data/lib/ibex/coverage/report.rb +26 -18
  125. data/lib/ibex/coverage/runtime_event_validator.rb +30 -21
  126. data/lib/ibex/delta_reducer.rb +99 -0
  127. data/lib/ibex/diff.rb +141 -0
  128. data/lib/ibex/equiv/machine.rb +135 -0
  129. data/lib/ibex/equiv.rb +373 -0
  130. data/lib/ibex/fix.rb +557 -0
  131. data/lib/ibex/frontend/ast.rb +22 -2
  132. data/lib/ibex/frontend/bootstrap_parser.rb +6 -13
  133. data/lib/ibex/frontend/diagnostic.rb +1 -1
  134. data/lib/ibex/frontend/formatter.rb +72 -26
  135. data/lib/ibex/frontend/generated_parser.rb +147 -117
  136. data/lib/ibex/frontend/generated_parser_base.rb +7 -3
  137. data/lib/ibex/frontend/generated_parser_includes.rb +1 -11
  138. data/lib/ibex/frontend/generation.rb +1 -1
  139. data/lib/ibex/frontend/parser/declarations.rb +17 -2
  140. data/lib/ibex/frontend/parser_configuration_support.rb +56 -0
  141. data/lib/ibex/frontend/regenerator.rb +1 -0
  142. data/lib/ibex/frontend/resolution.rb +2 -1
  143. data/lib/ibex/frontend/resolver.rb +1 -1
  144. data/lib/ibex/frontend/rule_documentation.rb +2 -1
  145. data/lib/ibex/frontend/source_cursor.rb +2 -2
  146. data/lib/ibex/frontend/source_span.rb +9 -1
  147. data/lib/ibex/frontend/token_adapter/declaration_state.rb +38 -6
  148. data/lib/ibex/frontend/token_adapter.rb +10 -0
  149. data/lib/ibex/frontend.rb +1 -0
  150. data/lib/ibex/fuzz.rb +219 -0
  151. data/lib/ibex/generation_input.rb +1 -1
  152. data/lib/ibex/generation_manifest.rb +36 -25
  153. data/lib/ibex/generation_transaction.rb +1 -1
  154. data/lib/ibex/generation_transaction_recovery.rb +4 -4
  155. data/lib/ibex/generation_transaction_validation.rb +2 -2
  156. data/lib/ibex/grammar_tests.rb +1 -1
  157. data/lib/ibex/impact/action_impact.rb +148 -0
  158. data/lib/ibex/impact/automaton_impact.rb +57 -0
  159. data/lib/ibex/impact/coverage_impact.rb +53 -0
  160. data/lib/ibex/impact/graph.rb +132 -0
  161. data/lib/ibex/impact/propagation.rb +147 -0
  162. data/lib/ibex/impact/report.rb +273 -0
  163. data/lib/ibex/impact/seeds.rb +69 -0
  164. data/lib/ibex/impact/severity.rb +139 -0
  165. data/lib/ibex/impact.rb +16 -0
  166. data/lib/ibex/ir/automaton_ir.rb +61 -19
  167. data/lib/ibex/ir/grammar_ir.rb +76 -45
  168. data/lib/ibex/ir/lexer_ir.rb +5 -5
  169. data/lib/ibex/ir/parser_contract.rb +135 -0
  170. data/lib/ibex/ir/serialize.rb +203 -76
  171. data/lib/ibex/ir/validator/automaton.rb +64 -34
  172. data/lib/ibex/ir/validator/base.rb +51 -33
  173. data/lib/ibex/ir/validator/grammar.rb +113 -83
  174. data/lib/ibex/ir/validator/lexer.rb +2 -2
  175. data/lib/ibex/ir/validator.rb +2 -1
  176. data/lib/ibex/ir.rb +16 -3
  177. data/lib/ibex/lalr/build_metrics.rb +50 -2
  178. data/lib/ibex/lalr/builder.rb +191 -56
  179. data/lib/ibex/lalr/conflict_search.rb +15 -4
  180. data/lib/ibex/lalr/counterexample.rb +19 -14
  181. data/lib/ibex/lalr/direct_lookaheads.rb +110 -57
  182. data/lib/ibex/lalr/goto_follows.rb +229 -0
  183. data/lib/ibex/lalr/ielr/annotator.rb +214 -0
  184. data/lib/ibex/lalr/ielr/bits.rb +28 -0
  185. data/lib/ibex/lalr/ielr/inadequacy.rb +47 -0
  186. data/lib/ibex/lalr/ielr/item_lookaheads.rb +78 -0
  187. data/lib/ibex/lalr/ielr/pipeline.rb +75 -0
  188. data/lib/ibex/lalr/ielr/split_stability.rb +78 -0
  189. data/lib/ibex/lalr/ielr/split_state.rb +20 -0
  190. data/lib/ibex/lalr/ielr/state_splitter.rb +258 -0
  191. data/lib/ibex/lalr/ielr_partition.rb +22 -8
  192. data/lib/ibex/lalr/inadequacy_report.rb +50 -0
  193. data/lib/ibex/lalr/lookahead_propagation.rb +111 -0
  194. data/lib/ibex/lalr/lr0_collection.rb +121 -0
  195. data/lib/ibex/lalr/unreachable_states.rb +80 -0
  196. data/lib/ibex/lalr.rb +52 -1
  197. data/lib/ibex/location.rb +3 -3
  198. data/lib/ibex/lsp/document_handlers.rb +9 -7
  199. data/lib/ibex/lsp/initialization_handlers.rb +9 -7
  200. data/lib/ibex/lsp/navigation_handlers.rb +25 -11
  201. data/lib/ibex/lsp/parser_configuration_assistance.rb +149 -0
  202. data/lib/ibex/lsp/position_codec.rb +6 -2
  203. data/lib/ibex/lsp/request_handlers.rb +3 -2
  204. data/lib/ibex/lsp/request_support.rb +14 -7
  205. data/lib/ibex/lsp/server.rb +13 -11
  206. data/lib/ibex/lsp/symbol_index.rb +13 -13
  207. data/lib/ibex/lsp/symbol_index_builder.rb +30 -20
  208. data/lib/ibex/lsp/symbol_occurrence.rb +8 -2
  209. data/lib/ibex/lsp/transport.rb +13 -3
  210. data/lib/ibex/lsp/workspace.rb +5 -4
  211. data/lib/ibex/lsp/workspace_analyzer.rb +1 -1
  212. data/lib/ibex/lsp.rb +1 -0
  213. data/lib/ibex/messages/en.yml +28 -0
  214. data/lib/ibex/messages/ja.yml +28 -0
  215. data/lib/ibex/messages.rb +68 -0
  216. data/lib/ibex/metrics.rb +175 -0
  217. data/lib/ibex/normalize/declarations.rb +2 -0
  218. data/lib/ibex/normalize/diagnostics.rb +63 -38
  219. data/lib/ibex/normalize/expander.rb +5 -4
  220. data/lib/ibex/normalize/expression.rb +8 -6
  221. data/lib/ibex/normalize/grammar_builder.rb +26 -0
  222. data/lib/ibex/normalize/inline_expansion.rb +100 -49
  223. data/lib/ibex/normalize/lexer.rb +3 -3
  224. data/lib/ibex/normalize/parameter_ebnf_lowering.rb +11 -10
  225. data/lib/ibex/normalize/parameter_lowering.rb +40 -23
  226. data/lib/ibex/normalize/parameters.rb +31 -4
  227. data/lib/ibex/normalize/parser_configuration.rb +70 -0
  228. data/lib/ibex/normalize.rb +10 -20
  229. data/lib/ibex/racc_migration/report.rb +6 -3
  230. data/lib/ibex/rake_task.rb +1 -1
  231. data/lib/ibex/samples.rb +43 -13
  232. data/lib/ibex/table_artifact/builder.rb +266 -0
  233. data/lib/ibex/table_artifact/cst_projection.rb +70 -0
  234. data/lib/ibex/table_artifact/document.rb +39 -0
  235. data/lib/ibex/table_artifact/executor.rb +187 -0
  236. data/lib/ibex/table_artifact/serializer.rb +57 -0
  237. data/lib/ibex/table_artifact/validator/metadata.rb +179 -0
  238. data/lib/ibex/table_artifact/validator/support.rb +86 -0
  239. data/lib/ibex/table_artifact/validator/tables.rb +238 -0
  240. data/lib/ibex/table_artifact/validator.rb +253 -0
  241. data/lib/ibex/table_artifact.rb +88 -0
  242. data/lib/ibex/table_simulation/result.rb +6 -2
  243. data/lib/ibex/table_simulation/step.rb +3 -1
  244. data/lib/ibex/tables.rb +14 -0
  245. data/lib/ibex/verifiable_generation_bundle.rb +86 -0
  246. data/lib/ibex/verification_report/builder.rb +159 -0
  247. data/lib/ibex/verification_report/canonical_ir.rb +123 -0
  248. data/lib/ibex/verification_report/logical_path.rb +68 -0
  249. data/lib/ibex/verification_report/validator.rb +329 -0
  250. data/lib/ibex/verification_report.rb +69 -0
  251. data/lib/ibex/verify/action_correspondence.rb +138 -0
  252. data/lib/ibex/verify/language_witness.rb +295 -0
  253. data/lib/ibex/verify/reference_collection.rb +190 -0
  254. data/lib/ibex/verify/result.rb +73 -0
  255. data/lib/ibex/verify/verifier.rb +598 -0
  256. data/lib/ibex/verify.rb +15 -0
  257. data/lib/ibex/version.rb +1 -1
  258. data/lib/ibex/watch/runner.rb +10 -1
  259. data/lib/ibex/watch/source_snapshot.rb +13 -8
  260. data/lib/ibex.rb +11 -0
  261. data/schema/{automaton-ir-v1.schema.json → automaton-ir-definitions.schema.json} +6 -6
  262. data/schema/{automaton-ir-v2.schema.json → automaton-ir.schema.json} +14 -7
  263. data/schema/bison-import-v1.schema.json +106 -0
  264. data/schema/conflict-explanation-review-v1.schema.json +196 -0
  265. data/schema/conflict-explanation-study-v1.schema.json +528 -0
  266. data/schema/construction-profile-v1.schema.json +779 -0
  267. data/schema/diff-v1.schema.json +41 -0
  268. data/schema/direct-ielr-decision-v1.schema.json +200 -0
  269. data/schema/equiv-v1.schema.json +64 -0
  270. data/schema/error-ux-review-v1.schema.json +609 -0
  271. data/schema/error-ux-round2-review-v1.schema.json +191 -0
  272. data/schema/error-ux-round2-v1.schema.json +519 -0
  273. data/schema/explain-v1.schema.json +63 -1
  274. data/schema/fix-v1.schema.json +64 -0
  275. data/schema/fix-v2.schema.json +66 -0
  276. data/schema/fix-v3.schema.json +101 -0
  277. data/schema/fuzz-regression-v1.schema.json +79 -0
  278. data/schema/fuzz-v1.schema.json +114 -0
  279. data/schema/{grammar-ir-v2.schema.json → grammar-ir-extensions.schema.json} +20 -65
  280. data/schema/{grammar-ir-v1.schema.json → grammar-ir-foundation.schema.json} +3 -3
  281. data/schema/grammar-ir.schema.json +271 -0
  282. data/schema/ielr-benchmark-v1.schema.json +85 -0
  283. data/schema/impact-v1.schema.json +208 -0
  284. data/schema/lexer-profile-v1.schema.json +491 -0
  285. data/schema/metrics-v1.schema.json +60 -0
  286. data/schema/reduce-v1.schema.json +22 -0
  287. data/schema/reduce-v2.schema.json +63 -0
  288. data/schema/table-artifact-v1.schema.json +377 -0
  289. data/schema/verification-report-v1.schema.json +222 -0
  290. data/schema/verify-v1.schema.json +42 -0
  291. data/sig/ibex/analysis/digraph.rbs +19 -0
  292. data/sig/ibex/analysis/sets.rbs +10 -0
  293. data/sig/ibex/bison_import/importer.rbs +140 -0
  294. data/sig/ibex/bison_import/tokenizer.rbs +91 -0
  295. data/sig/ibex/bison_import.rbs +95 -0
  296. data/sig/ibex/bounded_subprocess.rbs +76 -0
  297. data/sig/ibex/cli/ambiguity.rbs +6 -0
  298. data/sig/ibex/cli/analysis.rbs +43 -0
  299. data/sig/ibex/cli/bison_import.rbs +32 -0
  300. data/sig/ibex/cli/config.rbs +35 -0
  301. data/sig/ibex/cli/diagnostics.rbs +16 -3
  302. data/sig/ibex/cli/documentation.rbs +5 -1
  303. data/sig/ibex/cli/equiv.rbs +49 -0
  304. data/sig/ibex/cli/error_messages.rbs +6 -0
  305. data/sig/ibex/cli/explain.rbs +6 -0
  306. data/sig/ibex/cli/fix.rbs +53 -0
  307. data/sig/ibex/cli/formatting.rbs +5 -1
  308. data/sig/ibex/cli/fuzz.rbs +47 -0
  309. data/sig/ibex/cli/fuzz_regressions.rbs +40 -0
  310. data/sig/ibex/cli/generation_artifacts.rbs +21 -2
  311. data/sig/ibex/cli/generation_error_messages.rbs +2 -2
  312. data/sig/ibex/cli/grammar_tests.rbs +15 -3
  313. data/sig/ibex/cli/impact.rbs +95 -0
  314. data/sig/ibex/cli/ir_tools.rbs +7 -19
  315. data/sig/ibex/cli/outputs.rbs +9 -3
  316. data/sig/ibex/cli/reduce.rbs +60 -0
  317. data/sig/ibex/cli/reduce_reporting.rbs +27 -0
  318. data/sig/ibex/cli/samples.rbs +8 -0
  319. data/sig/ibex/cli/verify.rbs +28 -0
  320. data/sig/ibex/cli/watch.rbs +2 -2
  321. data/sig/ibex/cli.rbs +79 -5
  322. data/sig/ibex/codegen/action_method_source.rbs +4 -4
  323. data/sig/ibex/codegen/explain.rbs +45 -25
  324. data/sig/ibex/codegen/generated_action_abi.rbs +14 -10
  325. data/sig/ibex/codegen/rbs.rbs +12 -10
  326. data/sig/ibex/codegen/report.rbs +12 -12
  327. data/sig/ibex/codegen/ruby.rbs +18 -15
  328. data/sig/ibex/codegen/ruby_actions.rbs +6 -6
  329. data/sig/ibex/codegen/ruby_syntax.rbs +10 -8
  330. data/sig/ibex/configuration/analysis_grammar.rbs +13 -0
  331. data/sig/ibex/configuration/explanation.rbs +195 -0
  332. data/sig/ibex/configuration/inspector.rbs +53 -0
  333. data/sig/ibex/configuration.rbs +242 -0
  334. data/sig/ibex/coverage/collector.rbs +16 -14
  335. data/sig/ibex/coverage/event_stream.rbs +12 -10
  336. data/sig/ibex/coverage/report.rbs +20 -18
  337. data/sig/ibex/coverage/runtime_event_validator.rbs +38 -36
  338. data/sig/ibex/delta_reducer.rbs +38 -0
  339. data/sig/ibex/diff.rbs +47 -0
  340. data/sig/ibex/equiv/machine.rbs +54 -0
  341. data/sig/ibex/equiv.rbs +129 -0
  342. data/sig/ibex/fix.rbs +138 -0
  343. data/sig/ibex/frontend/ast.rbs +33 -7
  344. data/sig/ibex/frontend/bootstrap_parser.rbs +2 -0
  345. data/sig/ibex/frontend/diagnostic.rbs +2 -2
  346. data/sig/ibex/frontend/formatter.rbs +38 -30
  347. data/sig/ibex/frontend/generated_parser.rbs +87 -77
  348. data/sig/ibex/frontend/generated_parser_base.rbs +4 -2
  349. data/sig/ibex/frontend/parser/declarations.rbs +3 -0
  350. data/sig/ibex/frontend/parser_configuration_support.rbs +27 -0
  351. data/sig/ibex/frontend/resolution.rbs +3 -2
  352. data/sig/ibex/frontend/source_cursor.rbs +2 -2
  353. data/sig/ibex/frontend/source_span.rbs +5 -2
  354. data/sig/ibex/frontend/token_adapter/declaration_state.rbs +13 -1
  355. data/sig/ibex/frontend/token_adapter.rbs +6 -0
  356. data/sig/ibex/fuzz.rbs +71 -0
  357. data/sig/ibex/generation_input.rbs +2 -2
  358. data/sig/ibex/generation_manifest.rbs +35 -32
  359. data/sig/ibex/generation_transaction_recovery.rbs +2 -2
  360. data/sig/ibex/generation_transaction_validation.rbs +2 -2
  361. data/sig/ibex/grammar_tests.rbs +2 -2
  362. data/sig/ibex/impact/action_impact.rbs +58 -0
  363. data/sig/ibex/impact/automaton_impact.rbs +37 -0
  364. data/sig/ibex/impact/coverage_impact.rbs +28 -0
  365. data/sig/ibex/impact/graph.rbs +67 -0
  366. data/sig/ibex/impact/propagation.rbs +56 -0
  367. data/sig/ibex/impact/report.rbs +107 -0
  368. data/sig/ibex/impact/seeds.rbs +36 -0
  369. data/sig/ibex/impact/severity.rbs +55 -0
  370. data/sig/ibex/impact.rbs +6 -0
  371. data/sig/ibex/ir/automaton_ir.rbs +30 -11
  372. data/sig/ibex/ir/grammar_ir.rbs +41 -27
  373. data/sig/ibex/ir/lexer_ir.rbs +8 -8
  374. data/sig/ibex/ir/parser_contract.rbs +69 -0
  375. data/sig/ibex/ir/serialize.rbs +63 -28
  376. data/sig/ibex/ir/validator/automaton.rbs +47 -44
  377. data/sig/ibex/ir/validator/base.rbs +35 -31
  378. data/sig/ibex/ir/validator/grammar.rbs +78 -67
  379. data/sig/ibex/ir/validator/lexer.rbs +4 -4
  380. data/sig/ibex/ir.rbs +9 -3
  381. data/sig/ibex/lalr/build_metrics.rbs +42 -2
  382. data/sig/ibex/lalr/builder.rbs +75 -24
  383. data/sig/ibex/lalr/conflict_search.rbs +5 -2
  384. data/sig/ibex/lalr/counterexample.rbs +17 -14
  385. data/sig/ibex/lalr/direct_lookaheads.rbs +35 -28
  386. data/sig/ibex/lalr/goto_follows.rbs +89 -0
  387. data/sig/ibex/lalr/ielr/annotator.rbs +67 -0
  388. data/sig/ibex/lalr/ielr/bits.rbs +14 -0
  389. data/sig/ibex/lalr/ielr/inadequacy.rbs +24 -0
  390. data/sig/ibex/lalr/ielr/item_lookaheads.rbs +35 -0
  391. data/sig/ibex/lalr/ielr/pipeline.rbs +17 -0
  392. data/sig/ibex/lalr/ielr/split_stability.rbs +27 -0
  393. data/sig/ibex/lalr/ielr/split_state.rbs +14 -0
  394. data/sig/ibex/lalr/ielr/state_splitter.rbs +76 -0
  395. data/sig/ibex/lalr/ielr_partition.rbs +17 -5
  396. data/sig/ibex/lalr/inadequacy_report.rbs +21 -0
  397. data/sig/ibex/lalr/lookahead_propagation.rbs +38 -0
  398. data/sig/ibex/lalr/lr0_collection.rbs +50 -0
  399. data/sig/ibex/lalr/unreachable_states.rbs +25 -0
  400. data/sig/ibex/lalr.rbs +11 -1
  401. data/sig/ibex/location.rbs +6 -6
  402. data/sig/ibex/lsp/document_handlers.rbs +8 -8
  403. data/sig/ibex/lsp/initialization_handlers.rbs +12 -12
  404. data/sig/ibex/lsp/navigation_handlers.rbs +15 -12
  405. data/sig/ibex/lsp/parser_configuration_assistance.rbs +49 -0
  406. data/sig/ibex/lsp/position_codec.rbs +8 -4
  407. data/sig/ibex/lsp/request_handlers.rbs +4 -4
  408. data/sig/ibex/lsp/request_support.rbs +8 -8
  409. data/sig/ibex/lsp/server.rbs +16 -16
  410. data/sig/ibex/lsp/symbol_index.rbs +20 -21
  411. data/sig/ibex/lsp/symbol_index_builder.rbs +9 -8
  412. data/sig/ibex/lsp/symbol_occurrence.rbs +11 -5
  413. data/sig/ibex/lsp/transport.rbs +18 -6
  414. data/sig/ibex/lsp/workspace.rbs +3 -2
  415. data/sig/ibex/lsp/workspace_analyzer.rbs +1 -1
  416. data/sig/ibex/messages.rbs +26 -0
  417. data/sig/ibex/metrics.rbs +50 -0
  418. data/sig/ibex/normalize/diagnostics.rbs +4 -4
  419. data/sig/ibex/normalize/expander.rbs +2 -2
  420. data/sig/ibex/normalize/expression.rbs +10 -8
  421. data/sig/ibex/normalize/grammar_builder.rbs +11 -0
  422. data/sig/ibex/normalize/inline_expansion.rbs +59 -50
  423. data/sig/ibex/normalize/lexer.rbs +4 -4
  424. data/sig/ibex/normalize/parameter_ebnf_lowering.rbs +15 -14
  425. data/sig/ibex/normalize/parameter_lowering.rbs +18 -18
  426. data/sig/ibex/normalize/parameters.rbs +13 -8
  427. data/sig/ibex/normalize/parser_configuration.rbs +23 -0
  428. data/sig/ibex/normalize.rbs +11 -5
  429. data/sig/ibex/racc_migration/report.rbs +8 -6
  430. data/sig/ibex/rake_task.rbs +1 -1
  431. data/sig/ibex/samples.rbs +13 -4
  432. data/sig/ibex/table_artifact/builder.rbs +93 -0
  433. data/sig/ibex/table_artifact/cst_projection.rbs +20 -0
  434. data/sig/ibex/table_artifact/document.rbs +27 -0
  435. data/sig/ibex/table_artifact/executor.rbs +66 -0
  436. data/sig/ibex/table_artifact/serializer.rbs +25 -0
  437. data/sig/ibex/table_artifact/validator/metadata.rbs +52 -0
  438. data/sig/ibex/table_artifact/validator/support.rbs +46 -0
  439. data/sig/ibex/table_artifact/validator/tables.rbs +63 -0
  440. data/sig/ibex/table_artifact/validator.rbs +66 -0
  441. data/sig/ibex/table_artifact.rbs +32 -0
  442. data/sig/ibex/table_simulation/result.rbs +8 -4
  443. data/sig/ibex/table_simulation/step.rbs +4 -2
  444. data/sig/ibex/tables.rbs +10 -9
  445. data/sig/ibex/verifiable_generation_bundle.rbs +24 -0
  446. data/sig/ibex/verification_report/builder.rbs +53 -0
  447. data/sig/ibex/verification_report/canonical_ir.rbs +41 -0
  448. data/sig/ibex/verification_report/logical_path.rbs +34 -0
  449. data/sig/ibex/verification_report/validator.rbs +114 -0
  450. data/sig/ibex/verification_report.rbs +44 -0
  451. data/sig/ibex/verify/action_correspondence.rbs +50 -0
  452. data/sig/ibex/verify/language_witness.rbs +112 -0
  453. data/sig/ibex/verify/reference_collection.rbs +63 -0
  454. data/sig/ibex/verify/result.rbs +52 -0
  455. data/sig/ibex/verify/verifier.rbs +170 -0
  456. data/sig/ibex/verify.rbs +6 -0
  457. data/sig/ibex/watch/runner.rbs +12 -2
  458. data/sig/ibex/watch/source_snapshot.rbs +13 -9
  459. metadata +254 -12
  460. data/lib/ibex/ir/migration.rb +0 -120
  461. data/sig/ibex/ir/migration.rbs +0 -34
@@ -4,6 +4,10 @@ module Ibex
4
4
  module Watch
5
5
  # Stable metadata and content fingerprints for watched source paths.
6
6
  class SourceSnapshot
7
+ type fingerprint_value = Symbol | String | Integer | nil | Hash[Symbol, fingerprint_value]
8
+
9
+ type fingerprint = Hash[Symbol, fingerprint_value]
10
+
7
11
  attr_reader paths: Array[String]
8
12
 
9
13
  # @rbs (Array[String] paths) -> void
@@ -16,18 +20,18 @@ module Ibex
16
20
  # @rbs (SourceSnapshot older) -> bool
17
21
  def unchanged_since?: (SourceSnapshot older) -> bool
18
22
 
19
- attr_reader entries: Hash[String, Hash[Symbol, untyped]]
23
+ attr_reader entries: Hash[String, fingerprint]
20
24
 
21
- # @rbs (String path) -> Hash[Symbol, untyped]?
22
- def entry: (String path) -> Hash[Symbol, untyped]?
25
+ # @rbs (String path) -> fingerprint?
26
+ def entry: (String path) -> fingerprint?
23
27
 
24
28
  private
25
29
 
26
- # @rbs (String path) -> Hash[Symbol, untyped]
27
- def fingerprint: (String path) -> Hash[Symbol, untyped]
30
+ # @rbs (String path) -> fingerprint
31
+ def fingerprint: (String path) -> fingerprint
28
32
 
29
- # @rbs (File::Stat stat) -> Hash[Symbol, untyped]
30
- def stat_signature: (File::Stat stat) -> Hash[Symbol, untyped]
33
+ # @rbs (File::Stat stat) -> fingerprint
34
+ def stat_signature: (File::Stat stat) -> fingerprint
31
35
 
32
36
  # @rbs (File::Stat stat) -> Symbol
33
37
  def file_kind: (File::Stat stat) -> Symbol
@@ -35,8 +39,8 @@ module Ibex
35
39
  # @rbs (Time time) -> Integer
36
40
  def nanoseconds: (Time time) -> Integer
37
41
 
38
- # @rbs (Hash[Symbol, untyped] value, String path) -> void
39
- def add_resolved_target: (Hash[Symbol, untyped] value, String path) -> void
42
+ # @rbs (fingerprint value, String path) -> void
43
+ def add_resolved_target: (fingerprint value, String path) -> void
40
44
  end
41
45
  end
42
46
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ibex
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yudai Takada
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 0.2.0
18
+ version: 0.4.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: 0.2.0
25
+ version: 0.4.0
26
26
  description: Ibex generates LR parsers from racc-compatible grammars without native
27
27
  extensions.
28
28
  email:
@@ -35,16 +35,77 @@ files:
35
35
  - LICENSE.txt
36
36
  - README.md
37
37
  - docs/architecture.md
38
+ - docs/bison-import.md
39
+ - docs/comparison-policy.md
40
+ - docs/configuration-model.md
41
+ - docs/configuration-report.md
42
+ - docs/conflict-explanation-reviews/v1/records/README.md
43
+ - docs/conflict-explanation-study.md
44
+ - docs/construction-profiling.md
38
45
  - docs/cst-migration.md
39
46
  - docs/cst.md
47
+ - docs/decisions/0000-template.md
48
+ - docs/decisions/0001-separate-ir-pipeline.md
49
+ - docs/decisions/0002-opaque-user-code-boundary.md
50
+ - docs/decisions/0003-self-hosted-grammar-frontend.md
51
+ - docs/decisions/0004-shared-semantic-and-lossless-source-model.md
52
+ - docs/decisions/0005-contained-grammar-composition.md
53
+ - docs/decisions/0006-bounded-structural-grammar-lowering.md
54
+ - docs/decisions/0007-shared-parser-construction-pipeline.md
55
+ - docs/decisions/0008-versioned-runtime-package-boundary.md
56
+ - docs/decisions/0009-isolated-parser-sessions.md
57
+ - docs/decisions/0010-committed-runtime-observation.md
58
+ - docs/decisions/0011-versioned-semantic-action-boundary.md
59
+ - docs/decisions/0012-bounded-nonexecuting-analysis.md
60
+ - docs/decisions/0013-transactional-generation-publication.md
61
+ - docs/decisions/0014-versioned-generated-lexer.md
62
+ - docs/decisions/0015-worker-isolated-browser-analysis.md
63
+ - docs/decisions/0016-red-green-concrete-syntax.md
64
+ - docs/decisions/0017-persistent-syntax-artifacts.md
65
+ - docs/decisions/0018-conservative-incremental-syntax-reuse.md
66
+ - docs/decisions/0019-runtime-syntax-session-boundary.md
67
+ - docs/decisions/0020-grammar-ir-parser-contract.md
68
+ - docs/decisions/0021-data-only-parser-table-sidecar.md
69
+ - docs/decisions/0022-manifest-bound-verification-report.md
70
+ - docs/decisions/0023-syntax-only-repair-results.md
71
+ - docs/decisions/0024-direct-ielr-construction.md
72
+ - docs/decisions/README.md
73
+ - docs/declarative-configuration.md
40
74
  - docs/development.md
75
+ - docs/direct-ielr-decision.md
76
+ - docs/direct-multi-entry-decision.md
41
77
  - docs/editor-setup.md
78
+ - docs/error-ux-review-rubric-v1.md
79
+ - docs/error-ux-reviews/v1/records/README.md
80
+ - docs/error-ux-round2-review-status-v1.json
81
+ - docs/error-ux-round2-reviews/v1/records/README.md
82
+ - docs/error-ux-round2-v1.json
83
+ - docs/error-ux-round2.md
42
84
  - docs/error-ux.md
85
+ - docs/getting-started.md
43
86
  - docs/grammar-reference.md
87
+ - docs/ielr-design.md
88
+ - docs/ielr.md
89
+ - docs/impact.md
90
+ - docs/ja/bison-import.md
91
+ - docs/ja/stable-api.md
92
+ - docs/lexer-construction-profile.md
44
93
  - docs/lexer-migration.md
94
+ - docs/maturity.md
95
+ - docs/project-site-strategy.md
96
+ - docs/racc-migration-evidence.md
45
97
  - docs/racc-migration.md
46
98
  - docs/release-readiness.md
99
+ - docs/repair-semantics.md
100
+ - docs/runtime-abi-evolution.md
47
101
  - docs/stability.md
102
+ - docs/status.md
103
+ - docs/syntax-sessions.md
104
+ - docs/table-artifact.md
105
+ - docs/test-interactions.md
106
+ - docs/verification-report.md
107
+ - docs/verifier-trust-boundary.md
108
+ - docs/workloads.md
48
109
  - examples/README.md
49
110
  - examples/calculator.y
50
111
  - examples/csv.y
@@ -54,26 +115,42 @@ files:
54
115
  - exe/ibex
55
116
  - lib/ibex.rb
56
117
  - lib/ibex/analysis.rb
118
+ - lib/ibex/analysis/digraph.rb
57
119
  - lib/ibex/analysis/sets.rb
58
120
  - lib/ibex/artifact_set.rb
121
+ - lib/ibex/bison_import.rb
122
+ - lib/ibex/bison_import/importer.rb
123
+ - lib/ibex/bison_import/tokenizer.rb
124
+ - lib/ibex/bounded_subprocess.rb
59
125
  - lib/ibex/cli.rb
60
126
  - lib/ibex/cli/ambiguity.rb
127
+ - lib/ibex/cli/analysis.rb
128
+ - lib/ibex/cli/bison_import.rb
129
+ - lib/ibex/cli/config.rb
61
130
  - lib/ibex/cli/counterexample_options.rb
62
131
  - lib/ibex/cli/coverage.rb
63
132
  - lib/ibex/cli/debug.rb
64
133
  - lib/ibex/cli/diagnostics.rb
65
134
  - lib/ibex/cli/documentation.rb
135
+ - lib/ibex/cli/equiv.rb
66
136
  - lib/ibex/cli/error_messages.rb
67
137
  - lib/ibex/cli/explain.rb
138
+ - lib/ibex/cli/fix.rb
68
139
  - lib/ibex/cli/formatting.rb
140
+ - lib/ibex/cli/fuzz.rb
141
+ - lib/ibex/cli/fuzz_regressions.rb
69
142
  - lib/ibex/cli/generation_artifacts.rb
70
143
  - lib/ibex/cli/generation_error_messages.rb
71
144
  - lib/ibex/cli/grammar_tests.rb
145
+ - lib/ibex/cli/impact.rb
72
146
  - lib/ibex/cli/ir_tools.rb
73
147
  - lib/ibex/cli/lsp.rb
74
148
  - lib/ibex/cli/outputs.rb
75
149
  - lib/ibex/cli/racc_migration.rb
150
+ - lib/ibex/cli/reduce.rb
151
+ - lib/ibex/cli/reduce_reporting.rb
76
152
  - lib/ibex/cli/samples.rb
153
+ - lib/ibex/cli/verify.rb
77
154
  - lib/ibex/cli/watch.rb
78
155
  - lib/ibex/codegen/action_locations.rb
79
156
  - lib/ibex/codegen/action_method_source.rb
@@ -99,11 +176,19 @@ files:
99
176
  - lib/ibex/codegen/ruby_table_metadata.rb
100
177
  - lib/ibex/codegen/ruby_value_printers.rb
101
178
  - lib/ibex/codegen/symbol_labels.rb
179
+ - lib/ibex/configuration.rb
180
+ - lib/ibex/configuration/analysis_grammar.rb
181
+ - lib/ibex/configuration/explanation.rb
182
+ - lib/ibex/configuration/inspector.rb
102
183
  - lib/ibex/coverage.rb
103
184
  - lib/ibex/coverage/collector.rb
104
185
  - lib/ibex/coverage/event_stream.rb
105
186
  - lib/ibex/coverage/report.rb
106
187
  - lib/ibex/coverage/runtime_event_validator.rb
188
+ - lib/ibex/delta_reducer.rb
189
+ - lib/ibex/diff.rb
190
+ - lib/ibex/equiv.rb
191
+ - lib/ibex/equiv/machine.rb
107
192
  - lib/ibex/error.rb
108
193
  - lib/ibex/error_messages.rb
109
194
  - lib/ibex/error_messages/parser.rb
@@ -111,6 +196,7 @@ files:
111
196
  - lib/ibex/error_messages/renderer.rb
112
197
  - lib/ibex/error_messages/sentence_search.rb
113
198
  - lib/ibex/error_messages/update.rb
199
+ - lib/ibex/fix.rb
114
200
  - lib/ibex/frontend.rb
115
201
  - lib/ibex/frontend/action_scanner.rb
116
202
  - lib/ibex/frontend/ast.rb
@@ -131,6 +217,7 @@ files:
131
217
  - lib/ibex/frontend/parser/declarations.rb
132
218
  - lib/ibex/frontend/parser/parameters.rb
133
219
  - lib/ibex/frontend/parser/rules.rb
220
+ - lib/ibex/frontend/parser_configuration_support.rb
134
221
  - lib/ibex/frontend/regenerator.rb
135
222
  - lib/ibex/frontend/resolution.rb
136
223
  - lib/ibex/frontend/resolver.rb
@@ -145,17 +232,27 @@ files:
145
232
  - lib/ibex/frontend/token_adapter/declaration_state.rb
146
233
  - lib/ibex/frontend/token_adapter/delimiter_tracker.rb
147
234
  - lib/ibex/frontend/token_adapter/rule_state.rb
235
+ - lib/ibex/fuzz.rb
148
236
  - lib/ibex/generation_input.rb
149
237
  - lib/ibex/generation_manifest.rb
150
238
  - lib/ibex/generation_transaction.rb
151
239
  - lib/ibex/generation_transaction_recovery.rb
152
240
  - lib/ibex/generation_transaction_validation.rb
153
241
  - lib/ibex/grammar_tests.rb
242
+ - lib/ibex/impact.rb
243
+ - lib/ibex/impact/action_impact.rb
244
+ - lib/ibex/impact/automaton_impact.rb
245
+ - lib/ibex/impact/coverage_impact.rb
246
+ - lib/ibex/impact/graph.rb
247
+ - lib/ibex/impact/propagation.rb
248
+ - lib/ibex/impact/report.rb
249
+ - lib/ibex/impact/seeds.rb
250
+ - lib/ibex/impact/severity.rb
154
251
  - lib/ibex/ir.rb
155
252
  - lib/ibex/ir/automaton_ir.rb
156
253
  - lib/ibex/ir/grammar_ir.rb
157
254
  - lib/ibex/ir/lexer_ir.rb
158
- - lib/ibex/ir/migration.rb
255
+ - lib/ibex/ir/parser_contract.rb
159
256
  - lib/ibex/ir/serialize.rb
160
257
  - lib/ibex/ir/validator.rb
161
258
  - lib/ibex/ir/validator/automaton.rb
@@ -171,8 +268,21 @@ files:
171
268
  - lib/ibex/lalr/counterexample.rb
172
269
  - lib/ibex/lalr/default_reductions.rb
173
270
  - lib/ibex/lalr/direct_lookaheads.rb
271
+ - lib/ibex/lalr/goto_follows.rb
272
+ - lib/ibex/lalr/ielr/annotator.rb
273
+ - lib/ibex/lalr/ielr/bits.rb
274
+ - lib/ibex/lalr/ielr/inadequacy.rb
275
+ - lib/ibex/lalr/ielr/item_lookaheads.rb
276
+ - lib/ibex/lalr/ielr/pipeline.rb
277
+ - lib/ibex/lalr/ielr/split_stability.rb
278
+ - lib/ibex/lalr/ielr/split_state.rb
279
+ - lib/ibex/lalr/ielr/state_splitter.rb
174
280
  - lib/ibex/lalr/ielr_partition.rb
281
+ - lib/ibex/lalr/inadequacy_report.rb
282
+ - lib/ibex/lalr/lookahead_propagation.rb
283
+ - lib/ibex/lalr/lr0_collection.rb
175
284
  - lib/ibex/lalr/on_error_reductions.rb
285
+ - lib/ibex/lalr/unreachable_states.rb
176
286
  - lib/ibex/location.rb
177
287
  - lib/ibex/lsp.rb
178
288
  - lib/ibex/lsp/document_handlers.rb
@@ -181,6 +291,7 @@ files:
181
291
  - lib/ibex/lsp/document_store_validation.rb
182
292
  - lib/ibex/lsp/initialization_handlers.rb
183
293
  - lib/ibex/lsp/navigation_handlers.rb
294
+ - lib/ibex/lsp/parser_configuration_assistance.rb
184
295
  - lib/ibex/lsp/position_codec.rb
185
296
  - lib/ibex/lsp/protocol_error.rb
186
297
  - lib/ibex/lsp/request_handlers.rb
@@ -194,11 +305,16 @@ files:
194
305
  - lib/ibex/lsp/transport.rb
195
306
  - lib/ibex/lsp/workspace.rb
196
307
  - lib/ibex/lsp/workspace_analyzer.rb
308
+ - lib/ibex/messages.rb
309
+ - lib/ibex/messages/en.yml
310
+ - lib/ibex/messages/ja.yml
311
+ - lib/ibex/metrics.rb
197
312
  - lib/ibex/normalize.rb
198
313
  - lib/ibex/normalize/declarations.rb
199
314
  - lib/ibex/normalize/diagnostics.rb
200
315
  - lib/ibex/normalize/expander.rb
201
316
  - lib/ibex/normalize/expression.rb
317
+ - lib/ibex/normalize/grammar_builder.rb
202
318
  - lib/ibex/normalize/inline_expansion.rb
203
319
  - lib/ibex/normalize/inline_validation.rb
204
320
  - lib/ibex/normalize/lexer.rb
@@ -209,6 +325,7 @@ files:
209
325
  - lib/ibex/normalize/parameter_substitution.rb
210
326
  - lib/ibex/normalize/parameter_validation.rb
211
327
  - lib/ibex/normalize/parameters.rb
328
+ - lib/ibex/normalize/parser_configuration.rb
212
329
  - lib/ibex/normalize/recovery_declarations.rb
213
330
  - lib/ibex/racc_migration.rb
214
331
  - lib/ibex/racc_migration/checker.rb
@@ -216,57 +333,120 @@ files:
216
333
  - lib/ibex/racc_migration/report.rb
217
334
  - lib/ibex/rake_task.rb
218
335
  - lib/ibex/samples.rb
336
+ - lib/ibex/table_artifact.rb
337
+ - lib/ibex/table_artifact/builder.rb
338
+ - lib/ibex/table_artifact/cst_projection.rb
339
+ - lib/ibex/table_artifact/document.rb
340
+ - lib/ibex/table_artifact/executor.rb
341
+ - lib/ibex/table_artifact/serializer.rb
342
+ - lib/ibex/table_artifact/validator.rb
343
+ - lib/ibex/table_artifact/validator/metadata.rb
344
+ - lib/ibex/table_artifact/validator/support.rb
345
+ - lib/ibex/table_artifact/validator/tables.rb
219
346
  - lib/ibex/table_simulation.rb
220
347
  - lib/ibex/table_simulation/result.rb
221
348
  - lib/ibex/table_simulation/simulator.rb
222
349
  - lib/ibex/table_simulation/step.rb
223
350
  - lib/ibex/table_simulation/text.rb
224
351
  - lib/ibex/tables.rb
352
+ - lib/ibex/verifiable_generation_bundle.rb
353
+ - lib/ibex/verification_report.rb
354
+ - lib/ibex/verification_report/builder.rb
355
+ - lib/ibex/verification_report/canonical_ir.rb
356
+ - lib/ibex/verification_report/logical_path.rb
357
+ - lib/ibex/verification_report/validator.rb
358
+ - lib/ibex/verify.rb
359
+ - lib/ibex/verify/action_correspondence.rb
360
+ - lib/ibex/verify/language_witness.rb
361
+ - lib/ibex/verify/reference_collection.rb
362
+ - lib/ibex/verify/result.rb
363
+ - lib/ibex/verify/verifier.rb
225
364
  - lib/ibex/version.rb
226
365
  - lib/ibex/watch.rb
227
366
  - lib/ibex/watch/runner.rb
228
367
  - lib/ibex/watch/source_snapshot.rb
229
- - schema/automaton-ir-v1.schema.json
230
- - schema/automaton-ir-v2.schema.json
368
+ - schema/automaton-ir-definitions.schema.json
369
+ - schema/automaton-ir.schema.json
231
370
  - schema/benchmark-v1.schema.json
232
371
  - schema/benchmark-v2.schema.json
372
+ - schema/bison-import-v1.schema.json
373
+ - schema/conflict-explanation-review-v1.schema.json
374
+ - schema/conflict-explanation-study-v1.schema.json
375
+ - schema/construction-profile-v1.schema.json
233
376
  - schema/cst-v1.json
377
+ - schema/diff-v1.schema.json
378
+ - schema/direct-ielr-decision-v1.schema.json
379
+ - schema/equiv-v1.schema.json
380
+ - schema/error-ux-review-v1.schema.json
381
+ - schema/error-ux-round2-review-v1.schema.json
382
+ - schema/error-ux-round2-v1.schema.json
234
383
  - schema/error-ux-v1.schema.json
235
384
  - schema/explain-v1.schema.json
385
+ - schema/fix-v1.schema.json
386
+ - schema/fix-v2.schema.json
387
+ - schema/fix-v3.schema.json
236
388
  - schema/frontend-diagnostics-v1.schema.json
389
+ - schema/fuzz-regression-v1.schema.json
390
+ - schema/fuzz-v1.schema.json
237
391
  - schema/generation-manifest-v1.schema.json
238
- - schema/grammar-ir-v1.schema.json
239
- - schema/grammar-ir-v2.schema.json
392
+ - schema/grammar-ir-extensions.schema.json
393
+ - schema/grammar-ir-foundation.schema.json
394
+ - schema/grammar-ir.schema.json
395
+ - schema/ielr-benchmark-v1.schema.json
396
+ - schema/impact-v1.schema.json
240
397
  - schema/lexer-ir-v1.schema.json
398
+ - schema/lexer-profile-v1.schema.json
399
+ - schema/metrics-v1.schema.json
241
400
  - schema/migration-check-v1.schema.json
242
401
  - schema/performance-comparison-v1.schema.json
243
402
  - schema/public-performance-comparison-v1.schema.json
244
403
  - schema/public-performance-profile-v1.schema.json
404
+ - schema/reduce-v1.schema.json
405
+ - schema/reduce-v2.schema.json
245
406
  - schema/runtime-coverage-v1.schema.json
246
407
  - schema/runtime-event-v1.schema.json
408
+ - schema/table-artifact-v1.schema.json
247
409
  - schema/table-simulation-v1.schema.json
410
+ - schema/verification-report-v1.schema.json
411
+ - schema/verify-v1.schema.json
248
412
  - sig/ibex.rbs
249
413
  - sig/ibex/analysis.rbs
414
+ - sig/ibex/analysis/digraph.rbs
250
415
  - sig/ibex/analysis/sets.rbs
251
416
  - sig/ibex/artifact_set.rbs
417
+ - sig/ibex/bison_import.rbs
418
+ - sig/ibex/bison_import/importer.rbs
419
+ - sig/ibex/bison_import/tokenizer.rbs
420
+ - sig/ibex/bounded_subprocess.rbs
252
421
  - sig/ibex/cli.rbs
253
422
  - sig/ibex/cli/ambiguity.rbs
423
+ - sig/ibex/cli/analysis.rbs
424
+ - sig/ibex/cli/bison_import.rbs
425
+ - sig/ibex/cli/config.rbs
254
426
  - sig/ibex/cli/counterexample_options.rbs
255
427
  - sig/ibex/cli/coverage.rbs
256
428
  - sig/ibex/cli/debug.rbs
257
429
  - sig/ibex/cli/diagnostics.rbs
258
430
  - sig/ibex/cli/documentation.rbs
431
+ - sig/ibex/cli/equiv.rbs
259
432
  - sig/ibex/cli/error_messages.rbs
260
433
  - sig/ibex/cli/explain.rbs
434
+ - sig/ibex/cli/fix.rbs
261
435
  - sig/ibex/cli/formatting.rbs
436
+ - sig/ibex/cli/fuzz.rbs
437
+ - sig/ibex/cli/fuzz_regressions.rbs
262
438
  - sig/ibex/cli/generation_artifacts.rbs
263
439
  - sig/ibex/cli/generation_error_messages.rbs
264
440
  - sig/ibex/cli/grammar_tests.rbs
441
+ - sig/ibex/cli/impact.rbs
265
442
  - sig/ibex/cli/ir_tools.rbs
266
443
  - sig/ibex/cli/lsp.rbs
267
444
  - sig/ibex/cli/outputs.rbs
268
445
  - sig/ibex/cli/racc_migration.rbs
446
+ - sig/ibex/cli/reduce.rbs
447
+ - sig/ibex/cli/reduce_reporting.rbs
269
448
  - sig/ibex/cli/samples.rbs
449
+ - sig/ibex/cli/verify.rbs
270
450
  - sig/ibex/cli/watch.rbs
271
451
  - sig/ibex/codegen/action_locations.rbs
272
452
  - sig/ibex/codegen/action_method_source.rbs
@@ -292,11 +472,19 @@ files:
292
472
  - sig/ibex/codegen/ruby_table_metadata.rbs
293
473
  - sig/ibex/codegen/ruby_value_printers.rbs
294
474
  - sig/ibex/codegen/symbol_labels.rbs
475
+ - sig/ibex/configuration.rbs
476
+ - sig/ibex/configuration/analysis_grammar.rbs
477
+ - sig/ibex/configuration/explanation.rbs
478
+ - sig/ibex/configuration/inspector.rbs
295
479
  - sig/ibex/coverage.rbs
296
480
  - sig/ibex/coverage/collector.rbs
297
481
  - sig/ibex/coverage/event_stream.rbs
298
482
  - sig/ibex/coverage/report.rbs
299
483
  - sig/ibex/coverage/runtime_event_validator.rbs
484
+ - sig/ibex/delta_reducer.rbs
485
+ - sig/ibex/diff.rbs
486
+ - sig/ibex/equiv.rbs
487
+ - sig/ibex/equiv/machine.rbs
300
488
  - sig/ibex/error.rbs
301
489
  - sig/ibex/error_messages.rbs
302
490
  - sig/ibex/error_messages/parser.rbs
@@ -304,6 +492,7 @@ files:
304
492
  - sig/ibex/error_messages/renderer.rbs
305
493
  - sig/ibex/error_messages/sentence_search.rbs
306
494
  - sig/ibex/error_messages/update.rbs
495
+ - sig/ibex/fix.rbs
307
496
  - sig/ibex/frontend.rbs
308
497
  - sig/ibex/frontend/action_scanner.rbs
309
498
  - sig/ibex/frontend/ast.rbs
@@ -324,6 +513,7 @@ files:
324
513
  - sig/ibex/frontend/parser/declarations.rbs
325
514
  - sig/ibex/frontend/parser/parameters.rbs
326
515
  - sig/ibex/frontend/parser/rules.rbs
516
+ - sig/ibex/frontend/parser_configuration_support.rbs
327
517
  - sig/ibex/frontend/regenerator.rbs
328
518
  - sig/ibex/frontend/resolution.rbs
329
519
  - sig/ibex/frontend/resolver.rbs
@@ -338,17 +528,27 @@ files:
338
528
  - sig/ibex/frontend/token_adapter/declaration_state.rbs
339
529
  - sig/ibex/frontend/token_adapter/delimiter_tracker.rbs
340
530
  - sig/ibex/frontend/token_adapter/rule_state.rbs
531
+ - sig/ibex/fuzz.rbs
341
532
  - sig/ibex/generation_input.rbs
342
533
  - sig/ibex/generation_manifest.rbs
343
534
  - sig/ibex/generation_transaction.rbs
344
535
  - sig/ibex/generation_transaction_recovery.rbs
345
536
  - sig/ibex/generation_transaction_validation.rbs
346
537
  - sig/ibex/grammar_tests.rbs
538
+ - sig/ibex/impact.rbs
539
+ - sig/ibex/impact/action_impact.rbs
540
+ - sig/ibex/impact/automaton_impact.rbs
541
+ - sig/ibex/impact/coverage_impact.rbs
542
+ - sig/ibex/impact/graph.rbs
543
+ - sig/ibex/impact/propagation.rbs
544
+ - sig/ibex/impact/report.rbs
545
+ - sig/ibex/impact/seeds.rbs
546
+ - sig/ibex/impact/severity.rbs
347
547
  - sig/ibex/ir.rbs
348
548
  - sig/ibex/ir/automaton_ir.rbs
349
549
  - sig/ibex/ir/grammar_ir.rbs
350
550
  - sig/ibex/ir/lexer_ir.rbs
351
- - sig/ibex/ir/migration.rbs
551
+ - sig/ibex/ir/parser_contract.rbs
352
552
  - sig/ibex/ir/serialize.rbs
353
553
  - sig/ibex/ir/validator.rbs
354
554
  - sig/ibex/ir/validator/automaton.rbs
@@ -364,8 +564,21 @@ files:
364
564
  - sig/ibex/lalr/counterexample.rbs
365
565
  - sig/ibex/lalr/default_reductions.rbs
366
566
  - sig/ibex/lalr/direct_lookaheads.rbs
567
+ - sig/ibex/lalr/goto_follows.rbs
568
+ - sig/ibex/lalr/ielr/annotator.rbs
569
+ - sig/ibex/lalr/ielr/bits.rbs
570
+ - sig/ibex/lalr/ielr/inadequacy.rbs
571
+ - sig/ibex/lalr/ielr/item_lookaheads.rbs
572
+ - sig/ibex/lalr/ielr/pipeline.rbs
573
+ - sig/ibex/lalr/ielr/split_stability.rbs
574
+ - sig/ibex/lalr/ielr/split_state.rbs
575
+ - sig/ibex/lalr/ielr/state_splitter.rbs
367
576
  - sig/ibex/lalr/ielr_partition.rbs
577
+ - sig/ibex/lalr/inadequacy_report.rbs
578
+ - sig/ibex/lalr/lookahead_propagation.rbs
579
+ - sig/ibex/lalr/lr0_collection.rbs
368
580
  - sig/ibex/lalr/on_error_reductions.rbs
581
+ - sig/ibex/lalr/unreachable_states.rbs
369
582
  - sig/ibex/location.rbs
370
583
  - sig/ibex/lsp.rbs
371
584
  - sig/ibex/lsp/document_handlers.rbs
@@ -374,6 +587,7 @@ files:
374
587
  - sig/ibex/lsp/document_store_validation.rbs
375
588
  - sig/ibex/lsp/initialization_handlers.rbs
376
589
  - sig/ibex/lsp/navigation_handlers.rbs
590
+ - sig/ibex/lsp/parser_configuration_assistance.rbs
377
591
  - sig/ibex/lsp/position_codec.rbs
378
592
  - sig/ibex/lsp/protocol_error.rbs
379
593
  - sig/ibex/lsp/request_handlers.rbs
@@ -387,11 +601,14 @@ files:
387
601
  - sig/ibex/lsp/transport.rbs
388
602
  - sig/ibex/lsp/workspace.rbs
389
603
  - sig/ibex/lsp/workspace_analyzer.rbs
604
+ - sig/ibex/messages.rbs
605
+ - sig/ibex/metrics.rbs
390
606
  - sig/ibex/normalize.rbs
391
607
  - sig/ibex/normalize/declarations.rbs
392
608
  - sig/ibex/normalize/diagnostics.rbs
393
609
  - sig/ibex/normalize/expander.rbs
394
610
  - sig/ibex/normalize/expression.rbs
611
+ - sig/ibex/normalize/grammar_builder.rbs
395
612
  - sig/ibex/normalize/inline_expansion.rbs
396
613
  - sig/ibex/normalize/inline_validation.rbs
397
614
  - sig/ibex/normalize/lexer.rbs
@@ -402,6 +619,7 @@ files:
402
619
  - sig/ibex/normalize/parameter_substitution.rbs
403
620
  - sig/ibex/normalize/parameter_validation.rbs
404
621
  - sig/ibex/normalize/parameters.rbs
622
+ - sig/ibex/normalize/parser_configuration.rbs
405
623
  - sig/ibex/normalize/recovery_declarations.rbs
406
624
  - sig/ibex/racc_migration.rbs
407
625
  - sig/ibex/racc_migration/checker.rbs
@@ -409,22 +627,46 @@ files:
409
627
  - sig/ibex/racc_migration/report.rbs
410
628
  - sig/ibex/rake_task.rbs
411
629
  - sig/ibex/samples.rbs
630
+ - sig/ibex/table_artifact.rbs
631
+ - sig/ibex/table_artifact/builder.rbs
632
+ - sig/ibex/table_artifact/cst_projection.rbs
633
+ - sig/ibex/table_artifact/document.rbs
634
+ - sig/ibex/table_artifact/executor.rbs
635
+ - sig/ibex/table_artifact/serializer.rbs
636
+ - sig/ibex/table_artifact/validator.rbs
637
+ - sig/ibex/table_artifact/validator/metadata.rbs
638
+ - sig/ibex/table_artifact/validator/support.rbs
639
+ - sig/ibex/table_artifact/validator/tables.rbs
412
640
  - sig/ibex/table_simulation.rbs
413
641
  - sig/ibex/table_simulation/result.rbs
414
642
  - sig/ibex/table_simulation/simulator.rbs
415
643
  - sig/ibex/table_simulation/step.rbs
416
644
  - sig/ibex/table_simulation/text.rbs
417
645
  - sig/ibex/tables.rbs
646
+ - sig/ibex/verifiable_generation_bundle.rbs
647
+ - sig/ibex/verification_report.rbs
648
+ - sig/ibex/verification_report/builder.rbs
649
+ - sig/ibex/verification_report/canonical_ir.rbs
650
+ - sig/ibex/verification_report/logical_path.rbs
651
+ - sig/ibex/verification_report/validator.rbs
652
+ - sig/ibex/verify.rbs
653
+ - sig/ibex/verify/action_correspondence.rbs
654
+ - sig/ibex/verify/language_witness.rbs
655
+ - sig/ibex/verify/reference_collection.rbs
656
+ - sig/ibex/verify/result.rbs
657
+ - sig/ibex/verify/verifier.rbs
418
658
  - sig/ibex/version.rbs
419
659
  - sig/ibex/watch.rbs
420
660
  - sig/ibex/watch/runner.rbs
421
661
  - sig/ibex/watch/source_snapshot.rbs
422
- homepage: https://github.com/ydah/ibex
662
+ homepage: https://ydah.github.io/ibex/
423
663
  licenses:
424
664
  - MIT
425
665
  metadata:
426
- homepage_uri: https://github.com/ydah/ibex
427
- source_code_uri: https://github.com/ydah/ibex/tree/main
666
+ homepage_uri: https://ydah.github.io/ibex/
667
+ source_code_uri: https://github.com/ydah/ibex
668
+ documentation_uri: https://ydah.github.io/ibex/api/
669
+ bug_tracker_uri: https://github.com/ydah/ibex/issues
428
670
  rubygems_mfa_required: 'true'
429
671
  rdoc_options: []
430
672
  require_paths: