desmost 0.6.0 → 0.7.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.
@@ -1,9 +1,9 @@
1
1
  import { type DesmostOptions } from "./options.js";
2
2
  import { Ast } from "../parser/index.js";
3
- export declare function compile(desmos: Desmos.Calculator, source: string, options?: DesmostOptions): void | DesmostDebug;
4
3
  export interface DesmostDebug {
5
4
  duration: number;
6
5
  num_blocks: number;
7
6
  ast: Ast[];
8
7
  }
8
+ export declare function compile(desmos: Desmos.Calculator, source: string, options?: DesmostOptions): void | DesmostDebug;
9
9
  //# sourceMappingURL=compile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/compiler/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAiB,MAAM,WAAW,CAAC;AAG/D,OAAO,EAAiB,GAAG,EAAE,MAAM,WAAW,CAAC;AAqB/C,wBAAgB,OAAO,CAErB,MAAM,EAAE,MAAM,CAAC,UAAU,EAGzB,MAAM,EAAE,MAAM,EAGd,OAAO,CAAC,EAAE,cAAc,GACvB,IAAI,GAAG,YAAY,CA4FrB;AAGD,MAAM,WAAW,YAAY;IAE3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,GAAG,EAAE,CAAC;CACZ"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/compiler/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAiB,MAAM,WAAW,CAAC;AAG/D,OAAO,EAAiB,GAAG,EAAE,MAAM,WAAW,CAAC;AAI/C,MAAM,WAAW,YAAY;IAE3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,GAAG,EAAE,CAAC;CACZ;AAoBD,wBAAgB,OAAO,CAErB,MAAM,EAAE,MAAM,CAAC,UAAU,EAGzB,MAAM,EAAE,MAAM,EAGd,OAAO,CAAC,EAAE,cAAc,GACvB,IAAI,GAAG,YAAY,CAkHrB"}
@@ -1,7 +1,6 @@
1
1
  import { fill_defaults } from "./options.js";
2
2
  import { evaluate_global_incantation, evaluate_expr, evaluate_error } from "./evaluate.js";
3
3
  import { DesmostParser, Ast } from "../parser/index.js";
4
- import { UnrecoverableError } from "../errors.js";
5
4
  export function compile(desmos, source, options) {
6
5
  if (desmos == undefined) {
7
6
  console.error(`Desmost: No \`Desmos.Calculator\` instance provided, aborting compilation!`);
@@ -11,15 +10,19 @@ export function compile(desmos, source, options) {
11
10
  console.error(`Desmost: No source code provided, aborting compilation!`);
12
11
  return;
13
12
  }
14
- let t_init = performance.now();
15
- let num_blocks = 0;
16
- let ast = [];
17
13
  let opts = fill_defaults(options);
14
+ if (opts.debug) {
15
+ var t_init = performance.now();
16
+ var num_blocks = 0;
17
+ var ast = [];
18
+ }
18
19
  let parser = new DesmostParser(source, opts);
20
+ let errors = [];
19
21
  if (opts.place_errors === "start") {
20
- desmos.setExpression({ id: "deferred-start", latex: "" });
22
+ desmos.setExpression({ id: "deferred-start", latex: " " });
21
23
  }
22
- let errors = [];
24
+ let seen_non_blank = false;
25
+ let pending_blanks = 0;
23
26
  try {
24
27
  while (true) {
25
28
  let r = parser.parse_next();
@@ -35,10 +38,21 @@ export function compile(desmos, source, options) {
35
38
  defer = evaluate_global_incantation(r, desmos, opts);
36
39
  break;
37
40
  case Ast.Kind.EXPRESSION:
38
- if (opts.ignore_blank_lines && r.data.latex === " ")
41
+ if (r.data.latex === " ") {
42
+ if (opts.ignore_all_blanks)
43
+ break;
44
+ if (!seen_non_blank && !opts.keep_leading_blanks)
45
+ break;
46
+ pending_blanks++;
39
47
  break;
40
- defer = evaluate_expr(r, desmos, opts);
41
- break;
48
+ }
49
+ else {
50
+ flush_pending_blanks(desmos, pending_blanks);
51
+ pending_blanks = 0;
52
+ seen_non_blank = true;
53
+ defer = evaluate_expr(r, desmos, opts);
54
+ break;
55
+ }
42
56
  case Ast.Kind.INVALID_INCANTATION:
43
57
  defer = evaluate_error(r.error, desmos, opts);
44
58
  break;
@@ -49,12 +63,10 @@ export function compile(desmos, source, options) {
49
63
  }
50
64
  }
51
65
  catch (e) {
52
- if (e instanceof UnrecoverableError) {
53
- errors.push(e);
54
- }
55
- else {
56
- throw e;
57
- }
66
+ errors.push(e.message);
67
+ }
68
+ if (opts.keep_trailing_blanks) {
69
+ flush_pending_blanks(desmos, pending_blanks);
58
70
  }
59
71
  if (errors.length > 0) {
60
72
  let expr = {
@@ -74,9 +86,14 @@ export function compile(desmos, source, options) {
74
86
  if (opts.debug) {
75
87
  return {
76
88
  duration: performance.now() - t_init,
77
- num_blocks,
78
- ast,
89
+ num_blocks: num_blocks,
90
+ ast: ast,
79
91
  };
80
92
  }
81
93
  }
94
+ function flush_pending_blanks(desmos, count) {
95
+ for (let i = 0; i < count; i++) {
96
+ desmos.setExpression({ latex: ` ` });
97
+ }
98
+ }
82
99
  //# sourceMappingURL=compile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/compiler/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/compiler/compile.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,11 @@ export interface DesmostOptions {
2
2
  errors?: "surface" | "crash" | "suppress";
3
3
  place_errors?: "inline" | "end" | "start";
4
4
  error_prefix?: string;
5
- ignore_comments?: boolean;
6
- ignore_blank_lines?: boolean;
7
- ignore_trailing_blanks?: boolean;
8
5
  prettify?: boolean;
6
+ ignore_comments?: boolean;
7
+ ignore_all_blanks?: boolean;
8
+ keep_leading_blanks?: boolean;
9
+ keep_trailing_blanks?: boolean;
9
10
  debug?: boolean;
10
11
  }
11
12
  export declare function fill_defaults(options: Partial<DesmostOptions> | undefined): Required<DesmostOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/compiler/options.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAS7B,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,CAAA;IASzC,YAAY,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAA;IASzC,YAAY,CAAC,EAAE,MAAM,CAAA;IAOrB,eAAe,CAAC,EAAE,OAAO,CAAA;IAOzB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAO5B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAOhC,QAAQ,CAAC,EAAE,OAAO,CAAA;IASlB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAMD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,CAgBpG"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/compiler/options.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAS7B,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,CAAA;IASzC,YAAY,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAA;IASzC,YAAY,CAAC,EAAE,MAAM,CAAA;IAOrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAOlB,eAAe,CAAC,EAAE,OAAO,CAAA;IAOzB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAO3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAO7B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAS9B,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAMD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,CAiBpG"}
@@ -3,10 +3,11 @@ export function fill_defaults(options) {
3
3
  out.errors ??= "surface";
4
4
  out.place_errors ??= "inline";
5
5
  out.error_prefix ??= "[DESMOST ERROR]\n";
6
- out.ignore_comments ??= false;
7
- out.ignore_blank_lines ??= false;
8
- out.ignore_trailing_blanks ??= false;
9
6
  out.prettify ??= true;
7
+ out.ignore_comments ??= false;
8
+ out.ignore_all_blanks ??= false;
9
+ out.keep_leading_blanks ??= false;
10
+ out.keep_trailing_blanks ??= false;
10
11
  out.debug ??= false;
11
12
  return out;
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/compiler/options.ts"],"names":[],"mappings":"AAgFA,MAAM,UAAU,aAAa,CAAC,OAA4C;IAExE,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAErC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC;IACzB,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC;IAC9B,GAAG,CAAC,YAAY,KAAK,mBAAmB,CAAC;IAEzC,GAAG,CAAC,eAAe,KAAK,KAAK,CAAC;IAC9B,GAAG,CAAC,kBAAkB,KAAK,KAAK,CAAC;IACjC,GAAG,CAAC,sBAAsB,KAAK,KAAK,CAAC;IAErC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC;IACtB,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC;IAEpB,OAAO,GAA+B,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/compiler/options.ts"],"names":[],"mappings":"AAuFA,MAAM,UAAU,aAAa,CAAC,OAA4C;IAExE,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAErC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC;IACzB,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC;IAC9B,GAAG,CAAC,YAAY,KAAK,mBAAmB,CAAC;IAEzC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC;IAEtB,GAAG,CAAC,eAAe,KAAK,KAAK,CAAC;IAC9B,GAAG,CAAC,iBAAiB,KAAK,KAAK,CAAC;IAChC,GAAG,CAAC,mBAAmB,KAAK,KAAK,CAAC;IAClC,GAAG,CAAC,oBAAoB,KAAK,KAAK,CAAC;IACnC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC;IAEpB,OAAO,GAA+B,CAAC;AACzC,CAAC"}
@@ -2,6 +2,7 @@ import { Incantation, ArgIncantation, type EXPR } from "../incantation.js";
2
2
  export declare class TextIncantation extends ArgIncantation<EXPR> {
3
3
  readonly description = "Produce a text expression (\u201CAdd Note\u201D in the Desmos GUI).";
4
4
  readonly identifier = "text";
5
+ readonly alias = "note";
5
6
  readonly requires_arg = true;
6
7
  readonly arg_type = Incantation.ArgType.STRING;
7
8
  apply(target: Desmos.ExpressionState, data: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/magic/expr/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGxE,qBAAa,eAAgB,SAAQ,cAAc,CAAC,IAAI,CAAC;IAEvD,SAAkB,WAAW,yEACkC;IAE/D,SAAkB,UAAU,UAAW;IACvC,SAAkB,YAAY,QAAO;IACrC,SAAkB,QAAQ,8BAAiC;IAElD,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM;CAM5D"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/magic/expr/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGxE,qBAAa,eAAgB,SAAQ,cAAc,CAAC,IAAI,CAAC;IAEvD,SAAkB,WAAW,yEACkC;IAE/D,SAAkB,UAAU,UAAW;IACvC,SAAkB,KAAK,UAAgB;IACvC,SAAkB,YAAY,QAAO;IACrC,SAAkB,QAAQ,8BAAiC;IAElD,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM;CAM5D"}
@@ -2,6 +2,7 @@ import { Incantation, ArgIncantation } from "../incantation.js";
2
2
  export class TextIncantation extends ArgIncantation {
3
3
  description = "Produce a text expression (“Add Note” in the Desmos GUI).";
4
4
  identifier = "text";
5
+ alias = "note";
5
6
  requires_arg = true;
6
7
  arg_type = Incantation.ArgType.STRING;
7
8
  apply(target, data) {
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/magic/expr/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAa,MAAM,gBAAgB,CAAC;AAGxE,MAAM,OAAO,eAAgB,SAAQ,cAAoB;IAErC,WAAW,GACzB,2DAA2D,CAAA;IAE7C,UAAU,GAAK,MAAM,CAAA;IACrB,YAAY,GAAG,IAAI,CAAA;IACnB,QAAQ,GAAO,WAAW,CAAC,OAAO,CAAC,MAAM,CAAA;IAElD,KAAK,CAAC,MAA8B,EAAE,IAAY;QAEzD,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;QAErB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/magic/expr/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAa,MAAM,gBAAgB,CAAC;AAGxE,MAAM,OAAO,eAAgB,SAAQ,cAAoB;IAErC,WAAW,GACzB,2DAA2D,CAAA;IAE7C,UAAU,GAAK,MAAM,CAAA;IACrB,KAAK,GAAU,MAAM,CAAA;IACrB,YAAY,GAAG,IAAI,CAAA;IACnB,QAAQ,GAAO,WAAW,CAAC,OAAO,CAAC,MAAM,CAAA;IAElD,KAAK,CAAC,MAA8B,EAAE,IAAY;QAEzD,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;QAErB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../src/magic/global/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG1E,UAAU,cAAc;IAEtB,IAAI,EAAI,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAI,MAAM,CAAC;CAC/B;AAGD,qBAAa,mBAAoB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAE7D,SAAkB,WAAW,sEACyC;IAEtE,SAAkB,UAAU,cAAe;IAC3C,SAAkB,YAAY,QAAO;IACrC,SAAkB,QAAQ,8BAAiC;IAE3D,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc;CAKtD"}
1
+ {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../src/magic/global/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG1E,UAAU,cAAc;IAEtB,IAAI,EAAI,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAI,MAAM,CAAC;CAC/B;AAGD,qBAAa,mBAAoB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAE7D,SAAkB,WAAW,sEACyC;IAEtE,SAAkB,UAAU,cAAe;IAC3C,SAAkB,YAAY,QAAO;IACrC,SAAkB,QAAQ,8BAAiC;IAE3D,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc;CAMtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../src/magic/global/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAU1E,MAAM,OAAO,mBAAoB,SAAQ,cAAsB;IAE3C,WAAW,GACzB,kEAAkE,CAAA;IAEpD,UAAU,GAAK,UAAU,CAAA;IACzB,YAAY,GAAG,IAAI,CAAA;IACnB,QAAQ,GAAO,WAAW,CAAC,OAAO,CAAC,MAAM,CAAA;IAE3D,KAAK,CAAC,MAAyB,EAAE,IAAoB;QAGnD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../src/magic/global/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAU1E,MAAM,OAAO,mBAAoB,SAAQ,cAAsB;IAE3C,WAAW,GACzB,kEAAkE,CAAA;IAEpD,UAAU,GAAK,UAAU,CAAA;IACzB,YAAY,GAAG,IAAI,CAAA;IACnB,QAAQ,GAAO,WAAW,CAAC,OAAO,CAAC,MAAM,CAAA;IAE3D,KAAK,CAAC,MAAyB,EAAE,IAAoB;QAInD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF"}
@@ -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,aAAa,CAAC;AAElD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGlF,OAAO,EACL,WAAW,EAEZ,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAQ,MAAM,UAAU,CAAC;AAMpD,qBAAa,aAAc,SAAQ,aAAa;IAElB,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc;gBAAlD,MAAM,EAAE,MAAM,EAAY,OAAO,CAAC,EAAE,cAAc,YAAA;IAWvD,UAAU,IAAI,GAAG,GAAG,IAAI;IAwD/B,aAAa,IACX,aAAa,CACT;QAAE,MAAM,EAAE,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,GACjC,GAAG,CAAC,iBAAiB,CAAC;KACjC,GACC;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAC/B,GAAG,CAAC,iBAAiB,CAAC,CAAC;KACxC,CACF;IA4BH,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAehC,cAAc,IAAI,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;IA6B/C,aAAa,IAAI,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;IAkB9C,UAAU,IAAI,aAAa,CAAC,MAAM,CAAC;IAcnC,4BAA4B,IACxB,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,GACjC,GAAG,CAAC,iBAAiB,GACrB,eAAe;IA0CnB,2BAA2B,IACvB,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAChC,GAAG,CAAC,iBAAiB,GACrB,eAAe;IAuCnB,0BAA0B,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC;IA4B9D,oBAAoB,CAAC,MAAM,SAAS,WAAW,CAAC,MAAM,EACpD,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAClC,WAAW,CAAC,MAAM,CAAC,GAAG,eAAe;IAuExC,qBAAqB,CASnB,QAAQ,EAAE,WAAW,CAAC,OAAO,GAC5B,aAAa,CAAC,MAAM,CAAC;CAyFzB"}
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,aAAa,CAAC;AAElD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGlF,OAAO,EACL,WAAW,EAEZ,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAQ,MAAM,UAAU,CAAC;AAMpD,qBAAa,aAAc,SAAQ,aAAa;IAElB,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc;gBAAlD,MAAM,EAAE,MAAM,EAAY,OAAO,CAAC,EAAE,cAAc,YAAA;IAWvD,UAAU,IAAI,GAAG,GAAG,IAAI;IAwD/B,aAAa,IACX,aAAa,CACX;QAAE,MAAM,EAAE,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAA;KAAE,GACrE;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAA;KAAE,CAC3E;IA4BH,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC;IAehC,cAAc,IAAI,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;IA6B/C,aAAa,IAAI,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;IAkB9C,UAAU,IAAI,aAAa,CAAC,MAAM,CAAC;IAcnC,4BAA4B,IACxB,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,GACjC,GAAG,CAAC,iBAAiB,GACrB,eAAe;IA0CnB,2BAA2B,IACvB,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAChC,GAAG,CAAC,iBAAiB,GACrB,eAAe;IAuCnB,0BAA0B,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC;IA4B9D,oBAAoB,CAAC,MAAM,SAAS,WAAW,CAAC,MAAM,EACpD,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAClC,WAAW,CAAC,MAAM,CAAC,GAAG,eAAe;IAuExC,qBAAqB,CASnB,QAAQ,EAAE,WAAW,CAAC,OAAO,GAC5B,aAAa,CAAC,MAAM,CAAC;CAyFzB"}
@@ -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":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "desmost",
3
3
  "author": "Sup#2.0",
4
- "version": "0.6.0",
4
+ "version": "0.7.0",
5
5
  "license": "MIT",
6
6
 
7
7
  "description": "A tiny DSL for compiling LaTeX to Desmos",
@@ -2,7 +2,15 @@ import { type DesmostOptions, fill_defaults } from "./options";
2
2
  import { evaluate_global_incantation, evaluate_expr, evaluate_error } from "./evaluate";
3
3
 
4
4
  import { DesmostParser, Ast } from "../parser";
5
- import { UnrecoverableError } from "../errors";
5
+
6
+
7
+ /** Debug diagnostics returned from `compile()`. */
8
+ export interface DesmostDebug
9
+ {
10
+ duration: number;
11
+ num_blocks: number;
12
+ ast: Ast[];
13
+ }
6
14
 
7
15
 
8
16
  /**
@@ -43,31 +51,42 @@ export function compile(
43
51
  return;
44
52
  }
45
53
 
46
- let t_init = performance.now();
47
- let num_blocks = 0;
48
- let ast = [];
49
-
50
54
  let opts = fill_defaults(options);
55
+
56
+ if (opts.debug) {
57
+ var t_init = performance.now();
58
+ var num_blocks = 0;
59
+ var ast: Ast[] = [];
60
+ }
61
+
51
62
  let parser = new DesmostParser(source, opts);
63
+
64
+ let errors: string[] = [];
52
65
 
53
66
  /* To aggregate errors at the start, we need a target to retroactively inject errors into */
54
67
  if (opts.place_errors === "start") {
55
- desmos.setExpression({ id: "deferred-start", latex: "" });
68
+ desmos.setExpression({ id: "deferred-start", latex: " " }); // FIXME check if ` ` needed
56
69
  }
57
70
 
58
- let errors = [];
71
+ /* Keep track of whether we're still evaluating leading blank expressions, which might be ignored. */
72
+ let seen_non_blank = false;
73
+
74
+ /** The number of pending blank expressions to add. */
75
+ let pending_blanks: number = 0;
59
76
 
60
- /* NOTE: The compiler is lazy, parsing and evaluating one block at a time (as opposed to first parsing the entire AST). We don't need the whole AST, so this saves memory. It also doesn't sacrifice performance, since `.setExpressions()` internally just calls `.setExpression()` in a loop anyway. Benchmarks in the frontend produce similar times for both, so there's no performance improvement. */
77
+ /* The compiler is lazy, parsing and evaluating one block at a time (as opposed to first parsing the entire AST). We don't need the whole AST, so this saves memory. */
78
+ /* NOTE: It also doesn't sacrifice performance, since `.setExpressions()` internally just calls `.setExpression()` in a loop anyway. Benchmarks in the frontend produce similar times for both, so there's no performance improvement. */
61
79
  try {
62
80
  while (true) {
63
81
  let r = parser.parse_next();
64
82
  if (r === null) break;
65
83
 
66
84
  if (opts.debug) {
67
- num_blocks++;
68
- ast.push(r);
85
+ num_blocks!++;
86
+ ast!.push(r);
69
87
  }
70
88
 
89
+ /** An error message to leave for aggregation later. */
71
90
  let defer: string | void = undefined;
72
91
 
73
92
  switch (r.kind) {
@@ -77,9 +96,20 @@ export function compile(
77
96
 
78
97
  case Ast.Kind.EXPRESSION:
79
98
  // @ts-expect-error: outdated types
80
- if (opts.ignore_blank_lines && r.data.latex === " ") break;
81
- defer = evaluate_expr(r, desmos, opts);
82
- break;
99
+ if (r.data.latex === " ") {
100
+ if (opts.ignore_all_blanks) break;
101
+ if (!seen_non_blank && !opts.keep_leading_blanks) break;
102
+ pending_blanks++;
103
+ break;
104
+ }
105
+ else {
106
+ flush_pending_blanks(desmos, pending_blanks);
107
+ pending_blanks = 0;
108
+
109
+ seen_non_blank = true;
110
+ defer = evaluate_expr(r, desmos, opts);
111
+ break;
112
+ }
83
113
 
84
114
  case Ast.Kind.INVALID_INCANTATION:
85
115
  defer = evaluate_error(r.error, desmos, opts);
@@ -92,11 +122,11 @@ export function compile(
92
122
  }
93
123
  }
94
124
  catch (e) {
95
- if (e instanceof UnrecoverableError) {
96
- errors.push(e);
97
- } else {
98
- throw e;
99
- }
125
+ errors.push((e as Error).message);
126
+ }
127
+
128
+ if (opts.keep_trailing_blanks) {
129
+ flush_pending_blanks(desmos, pending_blanks);
100
130
  }
101
131
 
102
132
  if (errors.length > 0) {
@@ -118,17 +148,17 @@ export function compile(
118
148
 
119
149
  if (opts.debug) {
120
150
  return {
121
- duration: performance.now() - t_init,
122
- num_blocks,
123
- ast,
151
+ duration: performance.now() - t_init!,
152
+ num_blocks: num_blocks!,
153
+ ast: ast!,
124
154
  };
125
155
  }
126
156
  }
127
157
 
128
158
 
129
- export interface DesmostDebug
159
+ function flush_pending_blanks(desmos: Desmos.Calculator, count: number)
130
160
  {
131
- duration: number;
132
- num_blocks: number;
133
- ast: Ast[];
161
+ for (let i = 0; i < count; i++) {
162
+ desmos.setExpression({ latex: ` ` });
163
+ }
134
164
  }
@@ -37,7 +37,14 @@ export interface DesmostOptions
37
37
  error_prefix?: string
38
38
 
39
39
  /**
40
- * Should comments be ignored, instead of turned into text expressions (notes)?
40
+ * Prettify LaTeX output so it renders nicely in the Desmos editor?
41
+ *
42
+ * Defaults to `true`, meaning LaTeX is prettified.
43
+ */
44
+ prettify?: boolean
45
+
46
+ /**
47
+ * Should `%` LaTeX comments be ignored, instead of turned into text expressions (notes)?
41
48
  *
42
49
  * Defaults to `false`, meaning comments are kept.
43
50
  */
@@ -48,26 +55,26 @@ export interface DesmostOptions
48
55
  *
49
56
  * Defaults to `false`, meaning all blank lines are kept.
50
57
  */
51
- ignore_blank_lines?: boolean
58
+ ignore_all_blanks?: boolean
52
59
 
53
60
  /**
54
- * Should trailing blank lines at the end of the source be ignored, instead of kept as blank expressions?
61
+ * Should trailing blank lines at the start of the source be kept as blank expressions?
55
62
  *
56
- * Defaults to `false`, meaning trailing blank lines are kept.
63
+ * Defaults to `false`, meaning leading blank lines are ignored.
57
64
  */
58
- ignore_trailing_blanks?: boolean
65
+ keep_leading_blanks?: boolean
59
66
 
60
67
  /**
61
- * Prettify LaTeX output so it renders nicely in the Desmos editor?
68
+ * Should trailing blank lines at the end of the source be kept as blank expressions?
62
69
  *
63
- * Defaults to `true`, meaning LaTeX is prettified.
70
+ * Defaults to `false`, meaning trailing blank lines are ignored.
64
71
  */
65
- prettify?: boolean
72
+ keep_trailing_blanks?: boolean
66
73
 
67
74
  /**
68
75
  * Return debug diagnostics?
69
76
  *
70
- * This includes the unevaluated AST, and performance diagnostics.
77
+ * This includes the unevaluated AST and performance diagnostics.
71
78
  *
72
79
  * Defaults to `false`, meaning `compile()` returns `void`.
73
80
  */
@@ -85,12 +92,13 @@ export function fill_defaults(options: Partial<DesmostOptions> | undefined): Req
85
92
  out.errors ??= "surface";
86
93
  out.place_errors ??= "inline";
87
94
  out.error_prefix ??= "[DESMOST ERROR]\n";
88
-
89
- out.ignore_comments ??= false;
90
- out.ignore_blank_lines ??= false;
91
- out.ignore_trailing_blanks ??= false;
92
95
 
93
96
  out.prettify ??= true;
97
+
98
+ out.ignore_comments ??= false;
99
+ out.ignore_all_blanks ??= false;
100
+ out.keep_leading_blanks ??= false;
101
+ out.keep_trailing_blanks ??= false;
94
102
  out.debug ??= false;
95
103
 
96
104
  return out as Required<DesmostOptions>;
@@ -7,6 +7,7 @@ export class TextIncantation extends ArgIncantation<EXPR>
7
7
  = "Produce a text expression (“Add Note” in the Desmos GUI)."
8
8
 
9
9
  override readonly identifier = "text"
10
+ override readonly alias = "note"
10
11
  override readonly requires_arg = true
11
12
  override readonly arg_type = Incantation.ArgType.STRING
12
13
 
@@ -19,6 +19,7 @@ export class ViewportIncantation extends ArgIncantation<GLOBAL>
19
19
 
20
20
  apply(target: Desmos.Calculator, data: ViewportBounds)
21
21
  {
22
+ // FIXME broken?
22
23
  // TODO validate bounds
23
24
  target.setMathBounds(data);
24
25
  }
@@ -87,12 +87,8 @@ export class DesmostParser extends GenericParser
87
87
  */
88
88
  parse_pre_sep():
89
89
  Unrecoverable<
90
- | { global: Ast.IncantationInvocation<GLOBAL>
91
- | Ast.InvalidInvocation;
92
- }
93
- | { local: Array<Ast.IncantationInvocation<LOCAL>
94
- | Ast.InvalidInvocation>;
95
- }
90
+ | { global: Ast.IncantationInvocation<GLOBAL> | Ast.InvalidInvocation }
91
+ | { local: Array<Ast.IncantationInvocation<LOCAL> | Ast.InvalidInvocation> }
96
92
  >
97
93
  {
98
94
  // 1 global incantation
@@ -141,9 +141,10 @@ onMount(() =>
141
141
  inject(el_desmos, source.textContent);
142
142
  }
143
143
  else {
144
- let observer = new IntersectionObserver(
145
- _ => inject(el_desmos, source.textContent)
146
- );
144
+ let observer = new IntersectionObserver(() => {
145
+ inject(el_desmos, source.textContent);
146
+ observer.disconnect();
147
+ });
147
148
  observer.observe(el_desmos);
148
149
  lazy_observers.push(observer);
149
150
  }