parser-lr 0.6.1 → 0.8.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 (185) hide show
  1. package/README.md +14 -30
  2. package/bin/parser-lr.js +12759 -13493
  3. package/bin/parser-lr.js.map +1 -1
  4. package/dist/lib/grammar/grammar-from-cst.js +4 -1
  5. package/dist/lib/grammar/grammar-from-cst.js.map +1 -1
  6. package/dist/lib/grammar/grammar.json +86 -820
  7. package/dist/lib/grammar/index.d.ts +1 -1
  8. package/dist/lib/grammar/index.d.ts.map +1 -1
  9. package/dist/lib/grammar/index.js +1 -1
  10. package/dist/lib/grammar/index.js.map +1 -1
  11. package/dist/lib/grammar/meta-grammar-table.d.ts +0 -12
  12. package/dist/lib/grammar/meta-grammar-table.d.ts.map +1 -1
  13. package/dist/lib/grammar/meta-grammar-table.js +5 -22
  14. package/dist/lib/grammar/meta-grammar-table.js.map +1 -1
  15. package/dist/lib/grammar/table-validator.d.ts.map +1 -1
  16. package/dist/lib/grammar/table-validator.js +19 -1
  17. package/dist/lib/grammar/table-validator.js.map +1 -1
  18. package/dist/lib/grammar-entry.d.ts +42 -0
  19. package/dist/lib/grammar-entry.d.ts.map +1 -0
  20. package/dist/lib/grammar-entry.js +45 -0
  21. package/dist/lib/grammar-entry.js.map +1 -0
  22. package/dist/lib/index.d.ts +7 -5
  23. package/dist/lib/index.d.ts.map +1 -1
  24. package/dist/lib/index.js +0 -3
  25. package/dist/lib/index.js.map +1 -1
  26. package/dist/lib/parse-context.d.ts +4 -15
  27. package/dist/lib/parse-context.d.ts.map +1 -1
  28. package/dist/lib/parse-context.js +4 -23
  29. package/dist/lib/parse-context.js.map +1 -1
  30. package/dist/lib/transform/grammar-fixture.js +3 -3
  31. package/dist/lib/transform/grammar-fixture.js.map +1 -1
  32. package/docs/The Ferrite Programming Language.md +568 -0
  33. package/docs/grammar.md +55 -3
  34. package/docs/parser-lr-browser-lib-split.md +174 -0
  35. package/grammars/6502.grammar +2 -2
  36. package/grammars/ferrite.grammar +107 -97
  37. package/grammars/grammar.grammar +19 -140
  38. package/grammars/lisp.grammar +3 -2
  39. package/package.json +7 -2
  40. package/dist/lib/grammar/grammar-json-path.d.ts +0 -2
  41. package/dist/lib/grammar/grammar-json-path.d.ts.map +0 -1
  42. package/dist/lib/grammar/grammar-json-path.esm.d.ts +0 -5
  43. package/dist/lib/grammar/grammar-json-path.esm.d.ts.map +0 -1
  44. package/dist/lib/grammar/grammar-json-path.esm.js +0 -9
  45. package/dist/lib/grammar/grammar-json-path.esm.js.map +0 -1
  46. package/dist/lib/grammar/grammar-json-path.js +0 -2
  47. package/dist/lib/grammar/grammar-json-path.js.map +0 -1
  48. package/dist/lib-cjs/ast/ast-node.js +0 -70
  49. package/dist/lib-cjs/ast/ast-node.js.map +0 -1
  50. package/dist/lib-cjs/errors/index.js +0 -9
  51. package/dist/lib-cjs/errors/index.js.map +0 -1
  52. package/dist/lib-cjs/errors/parser-lr-error.js +0 -52
  53. package/dist/lib-cjs/errors/parser-lr-error.js.map +0 -1
  54. package/dist/lib-cjs/grammar/ast-schema.js +0 -43
  55. package/dist/lib-cjs/grammar/ast-schema.js.map +0 -1
  56. package/dist/lib-cjs/grammar/ast-type.js +0 -3
  57. package/dist/lib-cjs/grammar/ast-type.js.map +0 -1
  58. package/dist/lib-cjs/grammar/expression.js +0 -3
  59. package/dist/lib-cjs/grammar/expression.js.map +0 -1
  60. package/dist/lib-cjs/grammar/grammar-from-cst.js +0 -641
  61. package/dist/lib-cjs/grammar/grammar-from-cst.js.map +0 -1
  62. package/dist/lib-cjs/grammar/grammar-json-path.js +0 -13
  63. package/dist/lib-cjs/grammar/grammar-json-path.js.map +0 -1
  64. package/dist/lib-cjs/grammar/grammar-literals.js +0 -71
  65. package/dist/lib-cjs/grammar/grammar-literals.js.map +0 -1
  66. package/dist/lib-cjs/grammar/grammar.js +0 -64
  67. package/dist/lib-cjs/grammar/grammar.js.map +0 -1
  68. package/dist/lib-cjs/grammar/grammar.json +0 -5760
  69. package/dist/lib-cjs/grammar/index.js +0 -21
  70. package/dist/lib-cjs/grammar/index.js.map +0 -1
  71. package/dist/lib-cjs/grammar/meta-grammar-table.js +0 -68
  72. package/dist/lib-cjs/grammar/meta-grammar-table.js.map +0 -1
  73. package/dist/lib-cjs/grammar/production.js +0 -3
  74. package/dist/lib-cjs/grammar/production.js.map +0 -1
  75. package/dist/lib-cjs/grammar/read-grammar-error.js +0 -22
  76. package/dist/lib-cjs/grammar/read-grammar-error.js.map +0 -1
  77. package/dist/lib-cjs/grammar/read-grammar.js +0 -24
  78. package/dist/lib-cjs/grammar/read-grammar.js.map +0 -1
  79. package/dist/lib-cjs/grammar/table-validator.js +0 -262
  80. package/dist/lib-cjs/grammar/table-validator.js.map +0 -1
  81. package/dist/lib-cjs/grammar/token-rule.js +0 -3
  82. package/dist/lib-cjs/grammar/token-rule.js.map +0 -1
  83. package/dist/lib-cjs/grammar/transform-expression.js +0 -3
  84. package/dist/lib-cjs/grammar/transform-expression.js.map +0 -1
  85. package/dist/lib-cjs/grammar/transform-rule.js +0 -3
  86. package/dist/lib-cjs/grammar/transform-rule.js.map +0 -1
  87. package/dist/lib-cjs/grammar/transform-schema.js +0 -43
  88. package/dist/lib-cjs/grammar/transform-schema.js.map +0 -1
  89. package/dist/lib-cjs/index.js +0 -66
  90. package/dist/lib-cjs/index.js.map +0 -1
  91. package/dist/lib-cjs/lexer/index.js +0 -32
  92. package/dist/lib-cjs/lexer/index.js.map +0 -1
  93. package/dist/lib-cjs/lexer/lexer-compile-error.js +0 -22
  94. package/dist/lib-cjs/lexer/lexer-compile-error.js.map +0 -1
  95. package/dist/lib-cjs/lexer/lexer-compile.js +0 -201
  96. package/dist/lib-cjs/lexer/lexer-compile.js.map +0 -1
  97. package/dist/lib-cjs/lexer/lexer-error.js +0 -22
  98. package/dist/lib-cjs/lexer/lexer-error.js.map +0 -1
  99. package/dist/lib-cjs/lexer/lexer-input-error.js +0 -17
  100. package/dist/lib-cjs/lexer/lexer-input-error.js.map +0 -1
  101. package/dist/lib-cjs/lexer/lexer-state-error.js +0 -19
  102. package/dist/lib-cjs/lexer/lexer-state-error.js.map +0 -1
  103. package/dist/lib-cjs/lexer/lexer.js +0 -278
  104. package/dist/lib-cjs/lexer/lexer.js.map +0 -1
  105. package/dist/lib-cjs/lexer/token.js +0 -44
  106. package/dist/lib-cjs/lexer/token.js.map +0 -1
  107. package/dist/lib-cjs/package.json +0 -3
  108. package/dist/lib-cjs/parse-context-error.js +0 -19
  109. package/dist/lib-cjs/parse-context-error.js.map +0 -1
  110. package/dist/lib-cjs/parse-context.js +0 -137
  111. package/dist/lib-cjs/parse-context.js.map +0 -1
  112. package/dist/lib-cjs/parse-output-error.js +0 -19
  113. package/dist/lib-cjs/parse-output-error.js.map +0 -1
  114. package/dist/lib-cjs/parse-output.js +0 -18
  115. package/dist/lib-cjs/parse-output.js.map +0 -1
  116. package/dist/lib-cjs/parse-table/analysis/first-follow.js +0 -294
  117. package/dist/lib-cjs/parse-table/analysis/first-follow.js.map +0 -1
  118. package/dist/lib-cjs/parse-table/analysis/index.js +0 -9
  119. package/dist/lib-cjs/parse-table/analysis/index.js.map +0 -1
  120. package/dist/lib-cjs/parse-table/bnf/bnf-grammar.js +0 -140
  121. package/dist/lib-cjs/parse-table/bnf/bnf-grammar.js.map +0 -1
  122. package/dist/lib-cjs/parse-table/bnf/bnf-production.js +0 -3
  123. package/dist/lib-cjs/parse-table/bnf/bnf-production.js.map +0 -1
  124. package/dist/lib-cjs/parse-table/bnf/bnf-symbol.js +0 -39
  125. package/dist/lib-cjs/parse-table/bnf/bnf-symbol.js.map +0 -1
  126. package/dist/lib-cjs/parse-table/bnf/desugar-ebnf.js +0 -224
  127. package/dist/lib-cjs/parse-table/bnf/desugar-ebnf.js.map +0 -1
  128. package/dist/lib-cjs/parse-table/bnf/index.js +0 -13
  129. package/dist/lib-cjs/parse-table/bnf/index.js.map +0 -1
  130. package/dist/lib-cjs/parse-table/build-lr-table.js +0 -171
  131. package/dist/lib-cjs/parse-table/build-lr-table.js.map +0 -1
  132. package/dist/lib-cjs/parse-table/index.js +0 -49
  133. package/dist/lib-cjs/parse-table/index.js.map +0 -1
  134. package/dist/lib-cjs/parse-table/lr-algorithm-error.js +0 -19
  135. package/dist/lib-cjs/parse-table/lr-algorithm-error.js.map +0 -1
  136. package/dist/lib-cjs/parse-table/lr-algorithm.js +0 -31
  137. package/dist/lib-cjs/parse-table/lr-algorithm.js.map +0 -1
  138. package/dist/lib-cjs/parse-table/lr0/index.js +0 -14
  139. package/dist/lib-cjs/parse-table/lr0/index.js.map +0 -1
  140. package/dist/lib-cjs/parse-table/lr0/lr0-item-set.js +0 -286
  141. package/dist/lib-cjs/parse-table/lr0/lr0-item-set.js.map +0 -1
  142. package/dist/lib-cjs/parse-table/lr1/index.js +0 -18
  143. package/dist/lib-cjs/parse-table/lr1/index.js.map +0 -1
  144. package/dist/lib-cjs/parse-table/lr1/lr1-item-set.js +0 -432
  145. package/dist/lib-cjs/parse-table/lr1/lr1-item-set.js.map +0 -1
  146. package/dist/lib-cjs/parse-table/parse-table-build-error.js +0 -24
  147. package/dist/lib-cjs/parse-table/parse-table-build-error.js.map +0 -1
  148. package/dist/lib-cjs/parse-table/parse-table-error.js +0 -19
  149. package/dist/lib-cjs/parse-table/parse-table-error.js.map +0 -1
  150. package/dist/lib-cjs/parse-table/parse-table-json.js +0 -12
  151. package/dist/lib-cjs/parse-table/parse-table-json.js.map +0 -1
  152. package/dist/lib-cjs/parse-table/parse-table.js +0 -345
  153. package/dist/lib-cjs/parse-table/parse-table.js.map +0 -1
  154. package/dist/lib-cjs/parse-table/slr/index.js +0 -13
  155. package/dist/lib-cjs/parse-table/slr/index.js.map +0 -1
  156. package/dist/lib-cjs/parse-table/slr/parse-action.js +0 -8
  157. package/dist/lib-cjs/parse-table/slr/parse-action.js.map +0 -1
  158. package/dist/lib-cjs/parse-table/slr/slr-table.js +0 -18
  159. package/dist/lib-cjs/parse-table/slr/slr-table.js.map +0 -1
  160. package/dist/lib-cjs/parse-table/table/index.js +0 -21
  161. package/dist/lib-cjs/parse-table/table/index.js.map +0 -1
  162. package/dist/lib-cjs/parse-table/table/lr-parse-table.js +0 -192
  163. package/dist/lib-cjs/parse-table/table/lr-parse-table.js.map +0 -1
  164. package/dist/lib-cjs/parse-table/table/parse-action.js +0 -54
  165. package/dist/lib-cjs/parse-table/table/parse-action.js.map +0 -1
  166. package/dist/lib-cjs/parse-table/table/table-builder-base.js +0 -153
  167. package/dist/lib-cjs/parse-table/table/table-builder-base.js.map +0 -1
  168. package/dist/lib-cjs/parse-table/token-inventory.js +0 -18
  169. package/dist/lib-cjs/parse-table/token-inventory.js.map +0 -1
  170. package/dist/lib-cjs/parser-lr.js +0 -143
  171. package/dist/lib-cjs/parser-lr.js.map +0 -1
  172. package/dist/lib-cjs/shift-reduce/index.js +0 -11
  173. package/dist/lib-cjs/shift-reduce/index.js.map +0 -1
  174. package/dist/lib-cjs/shift-reduce/shift-reduce-engine.js +0 -224
  175. package/dist/lib-cjs/shift-reduce/shift-reduce-engine.js.map +0 -1
  176. package/dist/lib-cjs/transform/binding-map.js +0 -82
  177. package/dist/lib-cjs/transform/binding-map.js.map +0 -1
  178. package/dist/lib-cjs/transform/cst-transformer.js +0 -480
  179. package/dist/lib-cjs/transform/cst-transformer.js.map +0 -1
  180. package/dist/lib-cjs/transform/grammar-fixture.js +0 -109
  181. package/dist/lib-cjs/transform/grammar-fixture.js.map +0 -1
  182. package/dist/lib-cjs/transform/index.js +0 -12
  183. package/dist/lib-cjs/transform/index.js.map +0 -1
  184. package/docs/parser-lr-enhancement-proposals.md +0 -337
  185. package/grammars/fixtures/table-only-import/table-only-smoke.cjs +0 -38
@@ -456,8 +456,11 @@ function parseExpressionNode(node) {
456
456
  * @param node - `choice` CST node.
457
457
  */
458
458
  function parseChoice(node) {
459
+ // Parse each labeled or unlabeled alternative.
459
460
  const alternatives = collectAlternatives(node).map(parseLabeledAlternative);
460
- if (alternatives.length === 1) {
461
+ // Collapse a sole unlabeled alternative; keep labeled singles as a choice
462
+ // so AST / transform variants remain visible to validation and consumers.
463
+ if (alternatives.length === 1 && alternatives[0].label === null) {
461
464
  return alternatives[0].expression;
462
465
  }
463
466
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"grammar-from-cst.js","sourceRoot":"","sources":["../../../src/lib/grammar/grammar-from-cst.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grammar-from-cst.js","sourceRoot":"","sources":["../../../src/lib/grammar/grammar-from-cst.ts"],"names":[],"mappings":"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"}