desmost 0.10.0 → 0.11.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 (167) hide show
  1. package/README.md +6 -6
  2. package/dist/compiler/compile.d.ts +1 -1
  3. package/dist/compiler/compile.js +1 -1
  4. package/dist/compiler/compiler.d.ts.map +1 -1
  5. package/dist/compiler/compiler.js +9 -8
  6. package/dist/compiler/compiler.js.map +1 -1
  7. package/dist/compiler/format.js +1 -1
  8. package/dist/compiler/format.js.map +1 -1
  9. package/dist/decompiler/decompile.d.ts +13 -5
  10. package/dist/decompiler/decompile.d.ts.map +1 -1
  11. package/dist/decompiler/decompile.js +24 -13
  12. package/dist/decompiler/decompile.js.map +1 -1
  13. package/dist/decompiler/emit.d.ts +5 -2
  14. package/dist/decompiler/emit.d.ts.map +1 -1
  15. package/dist/decompiler/emit.js +41 -20
  16. package/dist/decompiler/emit.js.map +1 -1
  17. package/dist/decompiler/extract.d.ts +1 -9
  18. package/dist/decompiler/extract.d.ts.map +1 -1
  19. package/dist/decompiler/extract.js +24 -58
  20. package/dist/decompiler/extract.js.map +1 -1
  21. package/dist/decompiler/format.d.ts +0 -1
  22. package/dist/decompiler/format.d.ts.map +1 -1
  23. package/dist/decompiler/format.js +3 -9
  24. package/dist/decompiler/format.js.map +1 -1
  25. package/dist/errors.d.ts +14 -7
  26. package/dist/errors.d.ts.map +1 -1
  27. package/dist/errors.js +20 -2
  28. package/dist/errors.js.map +1 -1
  29. package/dist/magic/expr/index.js +6 -6
  30. package/dist/magic/expr/index.js.map +1 -1
  31. package/dist/magic/expr/latex.d.ts +5 -2
  32. package/dist/magic/expr/latex.d.ts.map +1 -1
  33. package/dist/magic/expr/latex.js +4 -2
  34. package/dist/magic/expr/latex.js.map +1 -1
  35. package/dist/magic/expr/text.d.ts +5 -2
  36. package/dist/magic/expr/text.d.ts.map +1 -1
  37. package/dist/magic/expr/text.js +4 -2
  38. package/dist/magic/expr/text.js.map +1 -1
  39. package/dist/magic/global/{dark-mode.d.ts → dark.d.ts} +6 -2
  40. package/dist/magic/global/dark.d.ts.map +1 -0
  41. package/dist/magic/global/dark.js +20 -0
  42. package/dist/magic/global/dark.js.map +1 -0
  43. package/dist/magic/global/desmos.d.ts +4 -1
  44. package/dist/magic/global/desmos.d.ts.map +1 -1
  45. package/dist/magic/global/desmos.js +23 -0
  46. package/dist/magic/global/desmos.js.map +1 -1
  47. package/dist/magic/global/index.d.ts +5 -5
  48. package/dist/magic/global/index.d.ts.map +1 -1
  49. package/dist/magic/global/index.js +8 -11
  50. package/dist/magic/global/index.js.map +1 -1
  51. package/dist/magic/global/viewport.d.ts +3 -0
  52. package/dist/magic/global/viewport.d.ts.map +1 -1
  53. package/dist/magic/global/viewport.js +20 -0
  54. package/dist/magic/global/viewport.js.map +1 -1
  55. package/dist/magic/incantation.d.ts +15 -2
  56. package/dist/magic/incantation.d.ts.map +1 -1
  57. package/dist/magic/incantation.js +8 -1
  58. package/dist/magic/incantation.js.map +1 -1
  59. package/dist/magic/local/anim.d.ts +5 -1
  60. package/dist/magic/local/anim.d.ts.map +1 -1
  61. package/dist/magic/local/anim.js +12 -1
  62. package/dist/magic/local/anim.js.map +1 -1
  63. package/dist/magic/local/colour.d.ts +7 -3
  64. package/dist/magic/local/colour.d.ts.map +1 -1
  65. package/dist/magic/local/colour.js +13 -3
  66. package/dist/magic/local/colour.js.map +1 -1
  67. package/dist/magic/local/dashed.d.ts +5 -1
  68. package/dist/magic/local/dashed.d.ts.map +1 -1
  69. package/dist/magic/local/dashed.js +12 -1
  70. package/dist/magic/local/dashed.js.map +1 -1
  71. package/dist/magic/local/fill.d.ts +5 -1
  72. package/dist/magic/local/fill.d.ts.map +1 -1
  73. package/dist/magic/local/fill.js +15 -1
  74. package/dist/magic/local/fill.js.map +1 -1
  75. package/dist/magic/local/hide.d.ts +5 -1
  76. package/dist/magic/local/hide.d.ts.map +1 -1
  77. package/dist/magic/local/hide.js +12 -1
  78. package/dist/magic/local/hide.js.map +1 -1
  79. package/dist/magic/local/index.d.ts +13 -2
  80. package/dist/magic/local/index.d.ts.map +1 -1
  81. package/dist/magic/local/index.js +24 -24
  82. package/dist/magic/local/index.js.map +1 -1
  83. package/dist/magic/local/label.d.ts +6 -2
  84. package/dist/magic/local/label.d.ts.map +1 -1
  85. package/dist/magic/local/label.js +19 -1
  86. package/dist/magic/local/label.js.map +1 -1
  87. package/dist/magic/local/line.d.ts +5 -1
  88. package/dist/magic/local/line.d.ts.map +1 -1
  89. package/dist/magic/local/line.js +19 -1
  90. package/dist/magic/local/line.js.map +1 -1
  91. package/dist/magic/local/no-line.d.ts +5 -1
  92. package/dist/magic/local/no-line.d.ts.map +1 -1
  93. package/dist/magic/local/no-line.js +12 -1
  94. package/dist/magic/local/no-line.js.map +1 -1
  95. package/dist/magic/local/point.d.ts +5 -1
  96. package/dist/magic/local/point.d.ts.map +1 -1
  97. package/dist/magic/local/point.js +19 -1
  98. package/dist/magic/local/point.js.map +1 -1
  99. package/dist/magic/local/secret.d.ts +5 -1
  100. package/dist/magic/local/secret.d.ts.map +1 -1
  101. package/dist/magic/local/secret.js +12 -1
  102. package/dist/magic/local/secret.js.map +1 -1
  103. package/dist/magic/local/slider.d.ts +5 -1
  104. package/dist/magic/local/slider.d.ts.map +1 -1
  105. package/dist/magic/local/slider.js +13 -1
  106. package/dist/magic/local/slider.js.map +1 -1
  107. package/dist/parser/ast.d.ts +9 -3
  108. package/dist/parser/ast.d.ts.map +1 -1
  109. package/dist/parser/ast.js +3 -1
  110. package/dist/parser/ast.js.map +1 -1
  111. package/dist/parser/desmost-parser.d.ts +2 -2
  112. package/dist/parser/desmost-parser.d.ts.map +1 -1
  113. package/dist/parser/desmost-parser.js +21 -19
  114. package/dist/parser/desmost-parser.js.map +1 -1
  115. package/dist/parser/errors.d.ts +11 -0
  116. package/dist/parser/errors.d.ts.map +1 -0
  117. package/dist/parser/errors.js +4 -0
  118. package/dist/parser/errors.js.map +1 -0
  119. package/dist/parser/generic-parser.d.ts +13 -11
  120. package/dist/parser/generic-parser.d.ts.map +1 -1
  121. package/dist/parser/generic-parser.js +21 -24
  122. package/dist/parser/generic-parser.js.map +1 -1
  123. package/dist/utils.js +1 -1
  124. package/dist/utils.js.map +1 -1
  125. package/package.json +1 -1
  126. package/src/compiler/compile.ts +1 -1
  127. package/src/compiler/compiler.ts +10 -9
  128. package/src/compiler/format.ts +1 -1
  129. package/src/decompiler/decompile.ts +30 -14
  130. package/src/decompiler/emit.ts +57 -25
  131. package/src/decompiler/extract.ts +30 -89
  132. package/src/decompiler/format.ts +3 -14
  133. package/src/decompiler/readme.md +2 -2
  134. package/src/errors.ts +13 -7
  135. package/src/magic/.template.ts +8 -0
  136. package/src/magic/expr/index.ts +6 -7
  137. package/src/magic/expr/latex.ts +8 -4
  138. package/src/magic/expr/text.ts +8 -4
  139. package/src/magic/global/dark.ts +29 -0
  140. package/src/magic/global/desmos.ts +35 -5
  141. package/src/magic/global/index.ts +8 -14
  142. package/src/magic/global/viewport.ts +29 -0
  143. package/src/magic/incantation.ts +28 -6
  144. package/src/magic/local/anim.ts +16 -3
  145. package/src/magic/local/colour.ts +18 -6
  146. package/src/magic/local/dashed.ts +16 -2
  147. package/src/magic/local/fill.ts +20 -3
  148. package/src/magic/local/hide.ts +16 -2
  149. package/src/magic/local/index.ts +24 -25
  150. package/src/magic/local/label.ts +31 -8
  151. package/src/magic/local/line.ts +25 -3
  152. package/src/magic/local/no-line.ts +16 -2
  153. package/src/magic/local/point.ts +27 -3
  154. package/src/magic/local/secret.ts +16 -2
  155. package/src/magic/local/slider.ts +18 -3
  156. package/src/parser/ast.ts +10 -7
  157. package/src/parser/desmost-parser.ts +25 -21
  158. package/src/parser/errors.ts +10 -0
  159. package/src/parser/generic-parser.ts +23 -25
  160. package/src/utils.ts +1 -1
  161. package/svelte/desmost.svelte +107 -107
  162. package/dist/magic/expr/index.d.ts +0 -3
  163. package/dist/magic/expr/index.d.ts.map +0 -1
  164. package/dist/magic/global/dark-mode.d.ts.map +0 -1
  165. package/dist/magic/global/dark-mode.js +0 -9
  166. package/dist/magic/global/dark-mode.js.map +0 -1
  167. package/src/magic/global/dark-mode.ts +0 -15
@@ -1,10 +1,21 @@
1
1
  import { Incantation } from "../incantation.js";
2
+ import { Ast } from "../../parser/index.js";
2
3
  export class SecretIncantation extends Incantation {
3
- description = "Turn a block into a secret expression, which is hidden from the end user.";
4
+ effect = Incantation.Effect.LOCAL;
4
5
  identifier = "secret";
6
+ description = "Turn a block into a secret expression, which is hidden from the end user.";
5
7
  apply(target) {
6
8
  super.require_expr_type(target.type, "expression");
7
9
  target.secret = true;
8
10
  }
11
+ extract(target) {
12
+ if (target.secret) {
13
+ return {
14
+ kind: Ast.Kind.INCANTATION_INVOCATION,
15
+ incantation: secret,
16
+ };
17
+ }
18
+ }
9
19
  }
20
+ export const secret = new SecretIncantation();
10
21
  //# sourceMappingURL=secret.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"secret.js","sourceRoot":"","sources":["../../../src/magic/local/secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AAGzD,MAAM,OAAO,iBAAkB,SAAQ,WAAkB;IAEtC,WAAW,GAC1B,2EAA2E,CAAA;IAE5D,UAAU,GAAG,QAAQ,CAAA;IAE9B,KAAK,CAAC,MAA8B;QAE5C,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC;CACD"}
1
+ {"version":3,"file":"secret.js","sourceRoot":"","sources":["../../../src/magic/local/secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,MAAM,OAAO,iBAAkB,SAAQ,WAAkB;IAEtC,MAAM,GAAS,WAAW,CAAC,MAAM,CAAC,KAAK,CAAA;IACvC,UAAU,GAAG,QAAQ,CAAA;IACrB,WAAW,GAC1B,2EAA2E,CAAA;IAErE,KAAK,CAAC,MAA8B;QAE5C,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC;IAEQ,OAAO,CAAC,MAAyB;QAEzC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;gBACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB;gBACrC,WAAW,EAAE,MAAM;aACnB,CAAC;QACH,CAAC;IACF,CAAC;CACD;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
@@ -1,15 +1,19 @@
1
1
  import { Incantation, ArgIncantation, type LOCAL } from "../incantation.js";
2
+ import { Ast } from "../../parser/index.js";
2
3
  interface SliderBounds {
3
4
  min: number | string;
4
5
  max: number | string;
5
6
  step?: number | string;
6
7
  }
7
8
  export declare class SliderIncantation extends ArgIncantation<LOCAL> {
8
- readonly description = "Set the bounds of the slider for a variable.";
9
+ readonly effect = Incantation.Effect.LOCAL;
9
10
  readonly identifier = "slider";
10
11
  readonly requires_arg = true;
11
12
  readonly arg_type = Incantation.ArgType.OBJECT;
13
+ readonly description = "Set the bounds of the slider for a variable.";
12
14
  apply(target: Desmos.ExpressionState, data: SliderBounds): void;
15
+ extract(target: Desmos.Expression): Ast.IncantationInvocation<LOCAL> | void;
13
16
  }
17
+ export declare const slider: SliderIncantation;
14
18
  export {};
15
19
  //# sourceMappingURL=slider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../src/magic/local/slider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGzE,UAAU,YAAY;IAErB,GAAG,EAAI,MAAM,GAAG,MAAM,CAAC;IACvB,GAAG,EAAI,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAGD,qBAAa,iBAAkB,SAAQ,cAAc,CAAC,KAAK,CAAC;IAE3D,SAAkB,WAAW,kDACoB;IAEjD,SAAkB,UAAU,YAAa;IACzC,SAAkB,YAAY,QAAO;IACrC,SAAkB,QAAQ,8BAAiC;IAElD,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,YAAY;CAKjE"}
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../src/magic/local/slider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,UAAU,YAAY;IAErB,GAAG,EAAI,MAAM,GAAG,MAAM,CAAC;IACvB,GAAG,EAAI,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAGD,qBAAa,iBAAkB,SAAQ,cAAc,CAAC,KAAK,CAAC;IAE3D,SAAkB,MAAM,4BAAiC;IACzD,SAAkB,UAAU,YAAa;IACzC,SAAkB,YAAY,QAAO;IACrC,SAAkB,QAAQ,8BAAiC;IAC3D,SAAkB,WAAW,kDACoB;IAExC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,YAAY;IAMxD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;CAUpF;AAED,eAAO,MAAM,MAAM,mBAA0B,CAAC"}
@@ -1,12 +1,24 @@
1
1
  import { Incantation, ArgIncantation } from "../incantation.js";
2
+ import { Ast } from "../../parser/index.js";
2
3
  export class SliderIncantation extends ArgIncantation {
3
- description = "Set the bounds of the slider for a variable.";
4
+ effect = Incantation.Effect.LOCAL;
4
5
  identifier = "slider";
5
6
  requires_arg = true;
6
7
  arg_type = Incantation.ArgType.OBJECT;
8
+ description = "Set the bounds of the slider for a variable.";
7
9
  apply(target, data) {
8
10
  super.require_expr_type(target.type, "expression");
9
11
  target.sliderBounds = data;
10
12
  }
13
+ extract(target) {
14
+ if (target.sliderBounds != undefined) {
15
+ return {
16
+ kind: Ast.Kind.INCANTATION_INVOCATION,
17
+ incantation: slider,
18
+ arg_raw: super.emit_object_arg(target.sliderBounds),
19
+ };
20
+ }
21
+ }
11
22
  }
23
+ export const slider = new SliderIncantation();
12
24
  //# sourceMappingURL=slider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider.js","sourceRoot":"","sources":["../../../src/magic/local/slider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAWzE,MAAM,OAAO,iBAAkB,SAAQ,cAAqB;IAEzC,WAAW,GAC1B,8CAA8C,CAAA;IAE/B,UAAU,GAAK,QAAQ,CAAA;IACvB,YAAY,GAAG,IAAI,CAAA;IACnB,QAAQ,GAAO,WAAW,CAAC,OAAO,CAAC,MAAM,CAAA;IAElD,KAAK,CAAC,MAA8B,EAAE,IAAkB;QAEhE,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;IAC5B,CAAC;CACD"}
1
+ {"version":3,"file":"slider.js","sourceRoot":"","sources":["../../../src/magic/local/slider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAWnC,MAAM,OAAO,iBAAkB,SAAQ,cAAqB;IAEzC,MAAM,GAAS,WAAW,CAAC,MAAM,CAAC,KAAK,CAAA;IACvC,UAAU,GAAK,QAAQ,CAAA;IACvB,YAAY,GAAG,IAAI,CAAA;IACnB,QAAQ,GAAO,WAAW,CAAC,OAAO,CAAC,MAAM,CAAA;IACzC,WAAW,GAC1B,8CAA8C,CAAA;IAExC,KAAK,CAAC,MAA8B,EAAE,IAAkB;QAEhE,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEQ,OAAO,CAAC,MAAyB;QAEzC,IAAI,MAAM,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC;YACtC,OAAO;gBACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB;gBACrC,WAAW,EAAE,MAAM;gBACnB,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC;aACnD,CAAC;QACH,CAAC;IACF,CAAC;CACD;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
@@ -1,17 +1,23 @@
1
1
  import { Incantation, ArgIncantation } from "../magic/index.js";
2
2
  export declare namespace Ast {
3
- /** What kind of AST node this is. */
3
+ /**
4
+ * What kind of AST node this is.
5
+ */
4
6
  enum Kind {
5
7
  EXPRESSION = "Expression",
6
8
  INCANTATION_INVOCATION = "Incantation-Invocation"
7
9
  }
8
- /** A Desmos expression to add to the calculator. */
10
+ /**
11
+ * A Desmos expression to add to the calculator.
12
+ */
9
13
  interface Expression {
10
14
  kind: Kind.EXPRESSION;
11
15
  data: Desmos.ExpressionState;
12
16
  incantations: IncantationInvocation<Incantation.Effect.LOCAL>[];
13
17
  }
14
- /** A pending incantation invocation that requires applying its argument (if any), then applying its effect. */
18
+ /**
19
+ * A pending incantation invocation that requires applying its argument (if any), then applying its effect.
20
+ */
15
21
  type IncantationInvocation<Effect extends Incantation.Effect = Incantation.Effect> = {
16
22
  kind: Kind.INCANTATION_INVOCATION;
17
23
  incantation: Incantation<Effect>;
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/parser/ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGvD,yBAAiB,GAAG,CACpB;IACC,qCAAqC;IACrC,KAAY,IAAI;QAEf,UAAU,eAA2B;QACrC,sBAAsB,2BAA2B;KACjD;IAGD,oDAAoD;IACpD,UAAiB,UAAU;QAE1B,IAAI,EAAE,IAAI,CAAC,UAAU,CAAA;QACrB,IAAI,EAAE,MAAM,CAAC,eAAe,CAAA;QAC5B,YAAY,EAAE,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;KAC/D;IAGD,+GAA+G;IAC/G,KAAY,qBAAqB,CAAC,MAAM,SAAS,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,IACrF;QACD,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAA;QACjC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;KAChC,GACC;QACD,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAA;QACjC,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;QACnC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,CAAC;CACH;AAED,iDAAiD;AACjD,MAAM,MAAM,GAAG,GACZ,GAAG,CAAC,UAAU,GACd,GAAG,CAAC,qBAAqB,CAC3B"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/parser/ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGvD,yBAAiB,GAAG,CACpB;IACC;;OAEG;IACH,KAAY,IAAI;QACf,UAAU,eAA2B;QACrC,sBAAsB,2BAA2B;KACjD;IAED;;OAEG;IACH,UAAiB,UAAU;QAE1B,IAAI,EAAE,IAAI,CAAC,UAAU,CAAA;QACrB,IAAI,EAAE,MAAM,CAAC,eAAe,CAAA;QAC5B,YAAY,EAAE,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;KAC/D;IAED;;OAEG;IACH,KAAY,qBAAqB,CAAC,MAAM,SAAS,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,IACrF;QACD,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAA;QACjC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;KAChC,GACC;QACD,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAA;QACjC,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;QACnC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,CAAC;CACH;AAED,iDAAiD;AACjD,MAAM,MAAM,GAAG,GACZ,GAAG,CAAC,UAAU,GACd,GAAG,CAAC,qBAAqB,CAC3B"}
@@ -1,7 +1,9 @@
1
1
  import { Incantation, ArgIncantation } from "../magic/index.js";
2
2
  export var Ast;
3
3
  (function (Ast) {
4
- /** What kind of AST node this is. */
4
+ /**
5
+ * What kind of AST node this is.
6
+ */
5
7
  let Kind;
6
8
  (function (Kind) {
7
9
  Kind["EXPRESSION"] = "Expression";
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/parser/ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGvD,MAAM,KAAW,GAAG,CA8BnB;AA9BD,WAAiB,GAAG;IAEnB,qCAAqC;IACrC,IAAY,IAIX;IAJD,WAAY,IAAI;QAEf,iCAAqC,CAAA;QACrC,yDAAiD,CAAA;IAClD,CAAC,EAJW,IAAI,GAAJ,QAAI,KAAJ,QAAI,QAIf;AAuBF,CAAC,EA9BgB,GAAG,KAAH,GAAG,QA8BnB"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/parser/ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGvD,MAAM,KAAW,GAAG,CAiCnB;AAjCD,WAAiB,GAAG;IAEnB;;OAEG;IACH,IAAY,IAGX;IAHD,WAAY,IAAI;QACf,iCAAqC,CAAA;QACrC,yDAAiD,CAAA;IAClD,CAAC,EAHW,IAAI,GAAJ,QAAI,KAAJ,QAAI,QAGf;AAyBF,CAAC,EAjCgB,GAAG,KAAH,GAAG,QAiCnB"}
@@ -1,8 +1,8 @@
1
1
  import { GenericParser } from "./generic-parser.js";
2
2
  import { Ast } from "./ast.js";
3
+ import type { NoMatch } from "./errors.js";
3
4
  import type { DesmostOptions } from "../options.js";
4
- import { DesmostError } from "../errors.js";
5
- import type { NoMatch, Fallible } from "../errors.js";
5
+ import { DesmostError, type Fallible } from "../errors.js";
6
6
  import { Incantation } from "../magic/index.js";
7
7
  import type { GLOBAL, LOCAL } from "../magic/index.js";
8
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"desmost-parser.d.ts","sourceRoot":"","sources":["../../src/parser/desmost-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAY,YAAY,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGnD,OAAO,EACN,WAAW,EAEX,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAQ,MAAM,UAAU,CAAC;AAGpD;;GAEG;AACH,qBAAa,aAAc,SAAQ,aAAa;IAEnB,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc;gBAAlD,MAAM,EAAE,MAAM,EAAY,OAAO,CAAC,EAAE,cAAc,YAAA;IAQ9D;;;;;;;;;;;;;;;;;OAiBG;IACI,UAAU,IAChB,QAAQ,CAAC;QAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC;IAyDhE;;;;;OAKG;IACH,aAAa,IACZ,QAAQ,CACN;QAAE,MAAM,EAAE,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;KAAE,GACpD;QAAE,MAAM,EAAE,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAA;KAAE,CAC/C;IAoCF;;OAEG;IACH,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC;IAoC3B;;;;;OAKG;IACH,cAAc,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;IA6B1C,aAAa,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;IAezC;;OAEG;IACH,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC;IAW9B;;OAEG;IACH,qBAAqB,CAAC,MAAM,SAAS,WAAW,CAAC,MAAM,EACtD,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GACjC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;IAuCxD;;OAEG;IACH,0BAA0B,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC;IA+BhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsDG;IACH,qBAAqB;IACpB;;;;;;;OAOG;IACH,QAAQ,EAAE,WAAW,CAAC,OAAO,GAC3B,QAAQ,CAAC,MAAM,CAAC;CA2FnB"}
1
+ {"version":3,"file":"desmost-parser.d.ts","sourceRoot":"","sources":["../../src/parser/desmost-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,UAAU,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGxD,OAAO,EACN,WAAW,EAEX,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAQ,MAAM,UAAU,CAAC;AAGpD;;GAEG;AACH,qBAAa,aAAc,SAAQ,aAAa;IAEnB,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc;gBAAlD,MAAM,EAAE,MAAM,EAAY,OAAO,CAAC,EAAE,cAAc,YAAA;IAQ9D;;;;;;;;;;;;;;;;;OAiBG;IACI,UAAU,IAChB,QAAQ,CAAC;QAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC;IAyDhE;;;;;OAKG;IACH,aAAa,IACZ,QAAQ,CACN;QAAE,MAAM,EAAE,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;KAAE,GACpD;QAAE,MAAM,EAAE,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAA;KAAE,CAC/C;IAoCF;;OAEG;IACH,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC;IAoC3B;;;;;OAKG;IACH,cAAc,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;IA6B1C,aAAa,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;IAezC;;OAEG;IACH,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC;IAW9B;;OAEG;IACH,qBAAqB,CAAC,MAAM,SAAS,WAAW,CAAC,MAAM,EACtD,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GACjC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;IAuCxD;;OAEG;IACH,0BAA0B,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC;IAkChE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsDG;IACH,qBAAqB;IACpB;;;;;;;OAOG;IACH,QAAQ,EAAE,WAAW,CAAC,OAAO,GAC3B,QAAQ,CAAC,MAAM,CAAC;CA2FnB"}
@@ -1,6 +1,7 @@
1
1
  import { GenericParser } from "./generic-parser.js";
2
2
  import { Ast } from "./ast.js";
3
- import { NO_MATCH, DesmostError } from "../errors.js";
3
+ import { NO_MATCH, INVALID_PARSE } from "./errors.js";
4
+ import { DesmostError } from "../errors.js";
4
5
  import * as utils from "../utils.js";
5
6
  import { Incantation, ArgIncantation, GLOBAL_INCANTATIONS, LOCAL_INCANTATIONS, EXPR_INCANTATIONS } from "../magic/index.js";
6
7
  /**
@@ -33,7 +34,7 @@ export class DesmostParser extends GenericParser {
33
34
  */
34
35
  parse_next() {
35
36
  this.errors = [];
36
- this.consume_spaces();
37
+ this.eat_whitespace();
37
38
  if (this.out_of_bounds()) {
38
39
  return undefined;
39
40
  }
@@ -72,7 +73,7 @@ export class DesmostParser extends GenericParser {
72
73
  // 1 expr
73
74
  blocks.push(this.parse_post_sep());
74
75
  }
75
- this.consume_end_of_block();
76
+ this.eat_end_of_block();
76
77
  return { blocks, errors: this.errors };
77
78
  }
78
79
  /**
@@ -84,9 +85,9 @@ export class DesmostParser extends GenericParser {
84
85
  parse_pre_sep() {
85
86
  // 1 global incantation
86
87
  try {
87
- let r = this.try_parse_incantation(GLOBAL_INCANTATIONS);
88
+ let r = this.try_parse_incantation(Object.values(GLOBAL_INCANTATIONS));
88
89
  if (r !== NO_MATCH) {
89
- this.consume_spaces();
90
+ this.eat_whitespace();
90
91
  return { global: r };
91
92
  }
92
93
  }
@@ -98,7 +99,7 @@ export class DesmostParser extends GenericParser {
98
99
  let incantations = [];
99
100
  while (this.current === "/") {
100
101
  try {
101
- var invocation = this.try_parse_incantation(LOCAL_INCANTATIONS);
102
+ var invocation = this.try_parse_incantation(Object.values(LOCAL_INCANTATIONS));
102
103
  }
103
104
  catch (e) {
104
105
  this.errors.push(e);
@@ -107,7 +108,7 @@ export class DesmostParser extends GenericParser {
107
108
  if (invocation === NO_MATCH)
108
109
  break;
109
110
  incantations.push(invocation);
110
- this.consume_whitespace();
111
+ this.eat_newlines();
111
112
  }
112
113
  return { locals: incantations };
113
114
  }
@@ -115,9 +116,9 @@ export class DesmostParser extends GenericParser {
115
116
  * Parse the Desmost `::` separator.
116
117
  */
117
118
  parse_sep() {
118
- this.consume_whitespace();
119
+ this.eat_newlines();
119
120
  try {
120
- this.consume("::", {
121
+ this.eat("::", {
121
122
  msg: `Expected \`::\` separator between local incantations and expression, but found: \`${this.preview()}\``,
122
123
  hint: `Use \`/incantation :: ${this.preview()}\``,
123
124
  });
@@ -138,9 +139,9 @@ export class DesmostParser extends GenericParser {
138
139
  span: new utils.Range(start, start + this.i - init)
139
140
  }
140
141
  }));
141
- this.consume("::");
142
+ this.eat("::");
142
143
  }
143
- this.consume_whitespace();
144
+ this.eat_newlines();
144
145
  }
145
146
  /**
146
147
  * Parse Desmost syntax after the `::` separator, which may be:
@@ -149,7 +150,7 @@ export class DesmostParser extends GenericParser {
149
150
  * - 1 expression incantation
150
151
  */
151
152
  parse_post_sep() {
152
- this.consume_spaces();
153
+ this.eat_whitespace();
153
154
  switch (this.current) {
154
155
  // empty block
155
156
  case "\n":
@@ -198,9 +199,9 @@ export class DesmostParser extends GenericParser {
198
199
  */
199
200
  try_parse_incantation(incantations) {
200
201
  let init = this.i;
201
- if (this.try_consume("/") === NO_MATCH)
202
+ if (this.try_eat("/") === NO_MATCH)
202
203
  return NO_MATCH;
203
- let ident = this.try_consume_identifier();
204
+ let ident = this.try_eat_identifier();
204
205
  if (ident === NO_MATCH) {
205
206
  this.i = init;
206
207
  return NO_MATCH;
@@ -233,14 +234,15 @@ export class DesmostParser extends GenericParser {
233
234
  */
234
235
  try_parse_expr_incantation() {
235
236
  let init = this.i;
236
- if (this.try_consume("/") === NO_MATCH)
237
+ if (this.try_eat("/") === NO_MATCH)
237
238
  return NO_MATCH;
238
- let ident = this.try_consume_identifier();
239
+ let ident = this.try_eat_identifier();
239
240
  if (ident === NO_MATCH) {
240
241
  this.i = init;
241
242
  return NO_MATCH;
242
243
  }
243
- let incantation = EXPR_INCANTATIONS.find(inc => inc.identifier === ident || inc.alias === ident);
244
+ let incantation = Object.values(EXPR_INCANTATIONS)
245
+ .find(inc => inc.identifier === ident || inc.alias === ident);
244
246
  if (incantation == undefined) {
245
247
  this.i = init;
246
248
  return NO_MATCH;
@@ -321,7 +323,7 @@ export class DesmostParser extends GenericParser {
321
323
  */
322
324
  arg_type) {
323
325
  let init = this.i;
324
- this.consume("{", {
326
+ this.eat("{", {
325
327
  msg: `Expected \`{\` to start incantation argument, but found: \`${this.preview()}\``
326
328
  });
327
329
  /** The context stack to keep track of when the closing `}` is encountered. */
@@ -351,7 +353,7 @@ export class DesmostParser extends GenericParser {
351
353
  stack.push(Ctx.ENUM);
352
354
  indices_to_insert_quotes.push(this.i);
353
355
  }
354
- else if (top === Ctx.ENUM && this.current?.match(/[^a-zA-Z]/)) {
356
+ else if (top === Ctx.ENUM && this.current?.match(/[^a-zA-Z-_]/)) {
355
357
  stack.pop();
356
358
  indices_to_insert_quotes.push(this.i);
357
359
  if (indices_to_insert_quotes.length % 2 != 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"desmost-parser.js","sourceRoot":"","sources":["../../src/parser/desmost-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desmost-parser.js","sourceRoot":"","sources":["../../src/parser/desmost-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAInD,OAAO,EAAE,YAAY,EAAiB,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAElC,OAAO,EACN,WAAW,EAAE,cAAc,EAC3B,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAC1D,MAAM,UAAU,CAAC;AAIlB;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,aAAa;IAET;IAAtC,YAAY,MAAc,EAAY,OAAwB;QAE7D,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAFgB,YAAO,GAAP,OAAO,CAAiB;IAG9D,CAAC;IAGD,qBAAqB;IAErB;;;;;;;;;;;;;;;;;OAiBG;IACI,UAAU;QAGhB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QAEjB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YAC1B,UAAU;YACV,IAAI,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,CAAC;iBACI,CAAC;gBACL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACnC,CAAC;QACF,CAAC;aACI,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAE7B,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBACnB,WAAW;gBACX,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;YACF,CAAC;iBACI,CAAC;gBACL,qBAAqB;gBACrB,IAAI,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;gBAE5B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClB,CAAC;gBAED,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBAElC,KAAK,IAAI,UAAU,IAAI,YAAY,EAAE,CAAC;oBACrC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACrC,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACF,CAAC;aACI,CAAC;YACL,SAAS;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,aAAa;QAMZ,uBAAuB;QACvB,IAAI,CAAC;YACJ,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAEvE,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACpB,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACtB,CAAC;QACF,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAU,CAAC,CAAC;YAC7B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAED,wBAAwB;QACxB,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,OAAO,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACJ,IAAI,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAChF,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAU,CAAC,CAAC;gBAC7B,SAAS;YACV,CAAC;YAED,IAAI,UAAU,KAAK,QAAQ;gBAAE,MAAM;YACnC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;QACrB,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,SAAS;QAER,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBACd,GAAG,EAAG,qFAAqF,IAAI,CAAC,OAAO,EAAE,IAAI;gBAC7G,IAAI,EAAE,yBAAyB,IAAI,CAAC,OAAO,EAAE,IAAI;aACjD,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,CAAC;YAE9C,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;YAElB,OAAO,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,CAAC;YACf,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;YAEpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,WAAW,CAAC;gBAC7C,GAAG,EAAE,kCAAkC;gBACvC,IAAI,EAAE;oBACL,IAAI,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK;oBAC9D,IAAI,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;iBACnD;aACD,CAAC,CAAC,CAAC;YAEJ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,cAAc;QAEb,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,cAAc;YACd,KAAK,IAAI;gBACR,OAAO;oBACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU;oBACzB,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;oBACpB,YAAY,EAAE,EAAE;iBAChB,CAAC;YAEH,mBAAmB;YACnB,KAAK,GAAG;gBACP,IAAI,WAAW,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACpD,IAAI,WAAW,KAAK,QAAQ;oBAAE,OAAO,WAAW,CAAC;YACjD,0CAA0C;YAE3C,cAAc;YACd;gBACC,OAAO;oBACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU;oBACzB,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE;oBAClC,YAAY,EAAE,EAAE;iBAChB,CAAC;QACJ,CAAC;IACF,CAAC;IAED,aAAa;QAEZ,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,OAAO;YACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU;YACzB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YAC5B,YAAY,EAAE,EAAE;SAChB,CAAC;IACH,CAAC;IAGD,qBAAqB;IAErB;;OAEG;IACH,UAAU;QAET,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QAElB,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,qBAAqB,CACpB,YAAmC;QAGnC,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QAElB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAEpD,IAAI,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YACd,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,IAAI,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,KAAK,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAC5F,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YACd,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,IAAI,OAAO,GAAG,SAAS,CAAC;QAExB,IAAI,WAAW,YAAY,cAAc,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;gBAC1B,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5D,CAAC;iBACI,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;gBACnC,MAAM,IAAI,YAAY,CAAC,YAAY,CAAC;oBACnC,GAAG,EAAG,6BAA6B,WAAW,CAAC,UAAU,EAAE;oBAC3D,IAAI,EAAE,IAAI,WAAW,CAAC,UAAU,oCAAoC,WAAW,CAAC,QAAQ,IAAI;iBAC5F,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,OAAO;YACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB;YACrC,WAAW;YACX,OAAO;SACP,CAAC;IACH,CAAC;IAED;;OAEG;IACH,0BAA0B;QAEzB,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QAElB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAEpD,IAAI,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YACd,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,IAAI,WAAW,GACd,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;aAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,KAAK,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAE/D,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YACd,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,gHAAgH;QAChH,IAAI,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE/D,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEjC,OAAO;YACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU;YACzB,IAAI;YACJ,YAAY,EAAE,EAAE;SAChB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsDG;IACH,qBAAqB;IACpB;;;;;;;OAOG;IACH,QAA6B;QAG7B,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QAElB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;YACb,GAAG,EAAE,8DAA8D,IAAI,CAAC,OAAO,EAAE,IAAI;SACrF,CAAC,CAAC;QAEH,8EAA8E;QAC9E,IAAI,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QAE/B,mDAAmD;QACnD,IAAI,wBAAwB,GAAa,EAAE,CAAC;QAE5C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,wFAAwF;YACxF,mFAAmF;YACnF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,oCAAoC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnF,CAAC;YAED,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;YAEpB,QAAQ,IAAI,CAAC,OAAO,EACpB,CAAC;gBACA,KAAK,IAAI,CAAC,SAAS;oBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAAC,MAAM;gBAEnD,KAAK,GAAG;oBAAG,KAAK,CAAC,IAAI,CAAM,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAAC,MAAM;gBAC5F,KAAK,GAAG;oBAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAAC,MAAM;YAC7F,CAAC;YAED,IAAI,QAAQ,KAAK,WAAW,CAAC,OAAO,CAAC,MAAM,EAC3C,CAAC;gBACA,IAAI,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACrB,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvC,CAAC;qBACI,IAAI,GAAG,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;oBACjE,KAAK,CAAC,GAAG,EAAE,CAAC;oBACZ,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAEtC,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9C,OAAO,CAAC,KAAK,CAAC,4FAA4F,CAAC,CAAC;oBAC7G,CAAC;gBACF,CAAC;gBAED,QAAQ,IAAI,CAAC,OAAO,EACpB,CAAC;oBACA,KAAK,GAAG;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAAC,MAAM;oBAC9D,KAAK,GAAG;wBAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAAC,MAAM;oBAE1C,KAAK,IAAI,CAAC,OAAO;wBAChB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBACjE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACzB,MAAM;oBACP,KAAK,IAAI,CAAC,OAAO;wBAChB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBACjE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACzB,MAAM;oBACP,KAAK,IAAI,CAAC,QAAQ;wBACjB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBACjE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACzB,MAAM;gBACR,CAAC;YACF,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,oCAAoC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,0DAA0D;QAC1D,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzD,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC;YAC5E,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;YACd,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;YAEd,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YAErE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YACtB,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvB,IAAI,QAAQ,KAAK,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7C,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAClB,CAAC;QAED,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AAGD,MAAM,YAAY;IAEjB,KAAK,GAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAE1B,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,oCAAoC;IACpC,IAAI,GAAG;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,GAAQ,EAAE,OAA+B;QAE7C,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAE7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,GAAG;QAEF,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,+EAA+E;IAC/E,OAAO,CAAC,GAAQ;QAEf,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACb,CAAC;aAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,8FAA8F;IAC9F,SAAS,CAAC,GAAQ,EAAE,OAA+B;QAElD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAE7C,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAE7B,gJAAgJ;QAChJ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,2EAA2E;IAC3E,WAAW,CAAC,GAAQ,EAAE,OAA+B;QAEpD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAE7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,YAAY,CAAC,OAA0C;QAEtD,OAAO,OAAO,CACZ,OAAO,EAAE,IAAI,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;eAC5D,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CACtC,CAAC;IACH,CAAC;CACD;AAWD,IAAK,IAMJ;AAND,WAAK,IAAI;IAER,wBAAgB,CAAA;IAChB,qBAAe,CAAA;IACf,sBAAe,CAAA;IACf,sBAAe,CAAA;AAChB,CAAC,EANI,IAAI,KAAJ,IAAI,QAMR;AAED,IAAK,GAQJ;AARD,WAAK,GAAG;IACP,kBAAY,CAAA;IACZ,kBAAY,CAAA;IACZ,8BAAyB,CAAA;IACzB,kBAAqB,CAAA;IACrB,mBAAqB,CAAA;IACrB,kBAAsB,CAAA;IACtB,oBAAuB,CAAA;AACxB,CAAC,EARI,GAAG,KAAH,GAAG,QAQP"}
@@ -0,0 +1,11 @@
1
+ /** The parser failed to parse something (usually during speculative parsing), which only results in internal backtracking. */
2
+ export declare const NO_MATCH: unique symbol;
3
+ /** The compiler encountered a non-fatal recoverable failure (usually during speculative parsing), which only results in internal backtracking. */
4
+ export type NoMatch = typeof NO_MATCH & {
5
+ readonly __brand?: unique symbol;
6
+ };
7
+ export declare const INVALID_PARSE: unique symbol;
8
+ export type InvalidParse = typeof INVALID_PARSE & {
9
+ readonly __brand?: unique symbol;
10
+ };
11
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/parser/errors.ts"],"names":[],"mappings":"AAAA,8HAA8H;AAC9H,eAAO,MAAM,QAAQ,eAAqB,CAAC;AAE3C,kJAAkJ;AAClJ,MAAM,MAAM,OAAO,GAAG,OAAO,QAAQ,GAAG;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC;AAG7E,eAAO,MAAM,aAAa,eAA0B,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG,OAAO,aAAa,GAAG;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** The parser failed to parse something (usually during speculative parsing), which only results in internal backtracking. */
2
+ export const NO_MATCH = Symbol("no-match");
3
+ export const INVALID_PARSE = Symbol("invalid-parse");
4
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/parser/errors.ts"],"names":[],"mappings":"AAAA,8HAA8H;AAC9H,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAM3C,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { DesmostError } from "../errors.js";
2
- import type { NoMatch, Fallible } from "../errors.js";
1
+ import type { NoMatch } from "./errors.js";
2
+ import { DesmostError, type Fallible } from "../errors.js";
3
3
  /**
4
4
  * A stateful lazy parser, providing core (non-Desmost-specific) methods for parsing.
5
5
  *
@@ -51,22 +51,24 @@ export declare class GenericParser {
51
51
  /**
52
52
  * Consume `raw`, erroring if `raw` was not found.
53
53
  */
54
- protected consume(raw: string, error_data?: DesmostError.Data): Fallible<void>;
54
+ protected eat(raw: string, error_data?: DesmostError.Data): Fallible<void>;
55
55
  /**
56
56
  * Attempt to consume `raw`, backtracking if `raw` was not found.
57
57
  */
58
- protected try_consume(raw: string): void | NoMatch;
59
- protected try_consume_identifier(): string | NoMatch;
58
+ protected try_eat(raw: string): void | NoMatch;
59
+ protected try_eat_identifier(): string | NoMatch;
60
60
  /**
61
- * Consume 0 or more space characters.
61
+ * Consume 0 or more space or tab characters (but not newlines).
62
+ *
63
+ * This is always safe to call, and will match 0 characters if the parser is out of bounds.
62
64
  */
63
- protected consume_spaces(): void;
65
+ protected eat_whitespace(): void;
64
66
  /**
65
- * Consume 0 or more whitespace characters.
67
+ * Consume 0 or more whitespace characters (including newlines).
66
68
  *
67
- * Same as `.consume_spaces()`, but allows tabs and newlines.
69
+ * This is always safe to call, and will match 0 characters if the parser is out of bounds.
68
70
  */
69
- protected consume_whitespace(): void;
70
- protected consume_end_of_block(error_data?: DesmostError.Data): Fallible<void>;
71
+ protected eat_newlines(): void;
72
+ protected eat_end_of_block(error_data?: DesmostError.Data): Fallible<void>;
71
73
  }
72
74
  //# sourceMappingURL=generic-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generic-parser.d.ts","sourceRoot":"","sources":["../../src/parser/generic-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,YAAY,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAQnD;;;;GAIG;AACH,qBAAa,aAAa;;IAEzB,gCAAgC;IAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEjC,yEAAyE;IACzE,SAAS,CAAC,CAAC,EAAE,MAAM,CAAI;IAEvB,mDAAmD;IACnD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEjC,4DAA4D;IAC5D,MAAM,EAAE,YAAY,EAAE,CAAA;IAGtB,4CAA4C;gBAChC,MAAM,EAAE,MAAM;IAQ1B;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,OAAO;IAKlC;;OAEG;IACH,SAAS,KAAK,OAAO,IAAI,MAAM,GAAG,SAAS,CAG1C;IAED,SAAS,CAAC,IAAI,IAAI,MAAM,GAAG,SAAS;IAKpC;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,MAAM;IAK7B;;;;OAIG;IACI,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM;IAUpC;;;;OAIG;IACH,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAQjE;;;;OAIG;IACH,SAAS,CAAC,WAAW,IAAI,IAAI,GAAG,OAAO;IAkBvC;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAgC9E;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAkBlD,SAAS,CAAC,sBAAsB,IAAI,MAAM,GAAG,OAAO;IAgBpD;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;IAUhC;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAcpC,SAAS,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;CAW9E"}
1
+ {"version":3,"file":"generic-parser.d.ts","sourceRoot":"","sources":["../../src/parser/generic-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAQxD;;;;GAIG;AACH,qBAAa,aAAa;;IAEzB,gCAAgC;IAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEjC,yEAAyE;IACzE,SAAS,CAAC,CAAC,EAAE,MAAM,CAAI;IAEvB,mDAAmD;IACnD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEjC,4DAA4D;IAC5D,MAAM,EAAE,YAAY,EAAE,CAAA;IAGtB,4CAA4C;gBAChC,MAAM,EAAE,MAAM;IAQ1B;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,OAAO;IAKlC;;OAEG;IACH,SAAS,KAAK,OAAO,IAAI,MAAM,GAAG,SAAS,CAG1C;IAED,SAAS,CAAC,IAAI,IAAI,MAAM,GAAG,SAAS;IAKpC;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,MAAM;IAK7B;;;;OAIG;IACI,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM;IAUpC;;;;OAIG;IACH,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAQjE;;;;OAIG;IACH,SAAS,CAAC,WAAW,IAAI,IAAI,GAAG,OAAO;IAkBvC;;OAEG;IACH,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAgC1E;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAkB9C,SAAS,CAAC,kBAAkB,IAAI,MAAM,GAAG,OAAO;IAgBhD;;;;OAIG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;IAOhC;;;;OAIG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAW9B,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;CAW1E"}
@@ -1,4 +1,5 @@
1
- import { NO_MATCH, DesmostError } from "../errors.js";
1
+ import { NO_MATCH, INVALID_PARSE } from "./errors.js";
2
+ import { DesmostError } from "../errors.js";
2
3
  const IGNORED_CHARACTERS = new Set([
3
4
  '\r',
4
5
  ]);
@@ -78,14 +79,14 @@ export class GenericParser {
78
79
  #advance() {
79
80
  this.i++;
80
81
  // @ts-expect-error: `this.current == undefined` is a true negative
81
- if (IGNORED_CHARACTERS.has(this.current)) {
82
- this.advance();
82
+ while (IGNORED_CHARACTERS.has(this.current)) {
83
+ this.i++;
83
84
  }
84
85
  }
85
86
  /**
86
87
  * Consume `raw`, erroring if `raw` was not found.
87
88
  */
88
- consume(raw, error_data) {
89
+ eat(raw, error_data) {
89
90
  if (this.out_of_bounds()) {
90
91
  throw new DesmostError.UnexpectedEnd({
91
92
  msg: `While trying to consume: \`${raw}\``,
@@ -115,7 +116,7 @@ export class GenericParser {
115
116
  /**
116
117
  * Attempt to consume `raw`, backtracking if `raw` was not found.
117
118
  */
118
- try_consume(raw) {
119
+ try_eat(raw) {
119
120
  let init = this.i;
120
121
  let ii = 0;
121
122
  while (this.current === raw[ii]) {
@@ -131,7 +132,7 @@ export class GenericParser {
131
132
  this.i = init;
132
133
  return NO_MATCH;
133
134
  }
134
- try_consume_identifier() {
135
+ try_eat_identifier() {
135
136
  let init = this.i;
136
137
  while (/[a-zA-Z-]/.test(this.current ?? "")) {
137
138
  let r = this.try_advance();
@@ -143,36 +144,32 @@ export class GenericParser {
143
144
  return this.source.slice(init, this.i);
144
145
  }
145
146
  /**
146
- * Consume 0 or more space characters.
147
+ * Consume 0 or more space or tab characters (but not newlines).
148
+ *
149
+ * This is always safe to call, and will match 0 characters if the parser is out of bounds.
147
150
  */
148
- consume_spaces() {
149
- /* NOTE: Callers should be able to assume this is safe to call even when at end of input, since it should just match 0 characters */
150
- if (this.out_of_bounds())
151
- return;
152
- while (this.current === " ") {
151
+ eat_whitespace() {
152
+ while (this.current === ' ' || this.current === '\t') {
153
153
  this.advance();
154
154
  }
155
155
  }
156
156
  /**
157
- * Consume 0 or more whitespace characters.
157
+ * Consume 0 or more whitespace characters (including newlines).
158
158
  *
159
- * Same as `.consume_spaces()`, but allows tabs and newlines.
159
+ * This is always safe to call, and will match 0 characters if the parser is out of bounds.
160
160
  */
161
- consume_whitespace() {
162
- /* NOTE: Callers should be able to assume this is safe to call even when at end of input, since it should just match 0 characters */
163
- if (this.i >= this.length)
164
- return;
165
- while (this.current === " "
166
- || this.current === "\n"
167
- || this.current === "\t") {
161
+ eat_newlines() {
162
+ while (this.current === ' '
163
+ || this.current === '\n'
164
+ || this.current === '\t') {
168
165
  this.advance();
169
166
  }
170
167
  }
171
- consume_end_of_block(error_data) {
168
+ eat_end_of_block(error_data) {
172
169
  if (this.i >= this.length)
173
170
  return;
174
- this.consume_spaces();
175
- this.consume("\n", {
171
+ this.eat_whitespace();
172
+ this.eat("\n", {
176
173
  msg: `Expected a newline at the end of a block, but found: \`${this.preview()}\``,
177
174
  ...error_data
178
175
  });
@@ -1 +1 @@
1
- {"version":3,"file":"generic-parser.js","sourceRoot":"","sources":["../../src/parser/generic-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generic-parser.js","sourceRoot":"","sources":["../../src/parser/generic-parser.ts"],"names":[],"mappings":"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"}
package/dist/utils.js CHANGED
@@ -42,7 +42,7 @@ export class Range {
42
42
  this.stop = Math.max(start, stop);
43
43
  }
44
44
  get length() {
45
- return this.stop - this.start + 1;
45
+ return this.stop - this.start;
46
46
  }
47
47
  *map(callback) {
48
48
  for (let n = this.start; n < this.stop; n++) {
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAGnC;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAA4B;IAEpD,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;AAChE,CAAC;AAGD,MAAM,SAAS,CAAC,CAAC,SAAS,CAAI,KAAmB;IAEhD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,KAAkB;IAE3C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,SAAS,CAAC,CAAC,OAAO,CAAI,KAAkB;IAE7C,IAAI,QAAQ,GAAG,IAAI,CAAC;IAEpB,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACvB,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;QACV,CAAC;aACI,CAAC;YACL,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACvB,QAAQ,GAAG,IAAI,CAAC;QACjB,CAAC;IACF,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC;IACjB,CAAC;AACF,CAAC;AAGD,MAAM,UAAU,KAAK,CAAC,CAAS,EAAE,KAAc,EAAE,IAAa;IAE7D,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AACzE,CAAC;AAGD,MAAM,OAAO,KAAK;IAEjB,gDAAgD;IAChC,KAAK,CAAS;IAE9B,gDAAgD;IAChC,IAAI,CAAS;IAE7B,YACC,KAAa,EACb,IAAY;QAGZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,CAAC,GAAG,CAAI,QAA0B;QAEjC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAGnC;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAA4B;IAEpD,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;AAChE,CAAC;AAGD,MAAM,SAAS,CAAC,CAAC,SAAS,CAAI,KAAmB;IAEhD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,KAAkB;IAE3C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,SAAS,CAAC,CAAC,OAAO,CAAI,KAAkB;IAE7C,IAAI,QAAQ,GAAG,IAAI,CAAC;IAEpB,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACvB,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;QACV,CAAC;aACI,CAAC;YACL,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACvB,QAAQ,GAAG,IAAI,CAAC;QACjB,CAAC;IACF,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC;IACjB,CAAC;AACF,CAAC;AAGD,MAAM,UAAU,KAAK,CAAC,CAAS,EAAE,KAAc,EAAE,IAAa;IAE7D,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AACzE,CAAC;AAGD,MAAM,OAAO,KAAK;IAEjB,gDAAgD;IAChC,KAAK,CAAS;IAE9B,gDAAgD;IAChC,IAAI,CAAS;IAE7B,YACC,KAAa,EACb,IAAY;QAGZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,CAAC,GAAG,CAAI,QAA0B;QAEjC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACF,CAAC;CACD"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "desmost",
3
3
  "author": "Sup#2.0",
4
- "version": "0.10.0",
4
+ "version": "0.11.0",
5
5
  "license": "MIT",
6
6
 
7
7
  "description": "A tiny DSL for compiling LaTeX to Desmos",
@@ -30,7 +30,7 @@ export function compile(
30
30
  /**
31
31
  * Compilation options.
32
32
  *
33
- * See {@linkcode DesmostOptions} for the options available.
33
+ * See {@linkcode DesmostOptions} for available options.
34
34
  */
35
35
  options?: Partial<DesmostOptions>,
36
36
  ): void | DesmostDebug