@stevenvo780/st-lang 2.6.1 → 2.7.1

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 (72) hide show
  1. package/dist/ast/nodes.d.ts +18 -1
  2. package/dist/ast/nodes.d.ts.map +1 -1
  3. package/dist/lexer/lexer.d.ts +2 -1
  4. package/dist/lexer/lexer.d.ts.map +1 -1
  5. package/dist/lexer/lexer.js +4 -2
  6. package/dist/lexer/lexer.js.map +1 -1
  7. package/dist/lexer/tokens.d.ts +17 -0
  8. package/dist/lexer/tokens.d.ts.map +1 -1
  9. package/dist/lexer/tokens.js +58 -21
  10. package/dist/lexer/tokens.js.map +1 -1
  11. package/dist/parser/parser.d.ts +4 -1
  12. package/dist/parser/parser.d.ts.map +1 -1
  13. package/dist/parser/parser.js +86 -2
  14. package/dist/parser/parser.js.map +1 -1
  15. package/dist/profiles/classical/dpll.d.ts +10 -0
  16. package/dist/profiles/classical/dpll.d.ts.map +1 -0
  17. package/dist/profiles/classical/dpll.js +446 -0
  18. package/dist/profiles/classical/dpll.js.map +1 -0
  19. package/dist/profiles/classical/first-order.d.ts +1 -0
  20. package/dist/profiles/classical/first-order.d.ts.map +1 -1
  21. package/dist/profiles/classical/first-order.js +35 -0
  22. package/dist/profiles/classical/first-order.js.map +1 -1
  23. package/dist/profiles/classical/propositional.d.ts +6 -1
  24. package/dist/profiles/classical/propositional.d.ts.map +1 -1
  25. package/dist/profiles/classical/propositional.js +434 -38
  26. package/dist/profiles/classical/propositional.js.map +1 -1
  27. package/dist/profiles/paraconsistent/belnap.d.ts.map +1 -1
  28. package/dist/profiles/paraconsistent/belnap.js +151 -3
  29. package/dist/profiles/paraconsistent/belnap.js.map +1 -1
  30. package/dist/profiles/shared/tableau-engine.d.ts.map +1 -1
  31. package/dist/profiles/shared/tableau-engine.js +49 -22
  32. package/dist/profiles/shared/tableau-engine.js.map +1 -1
  33. package/dist/runtime/educational-notes.d.ts +27 -0
  34. package/dist/runtime/educational-notes.d.ts.map +1 -0
  35. package/dist/runtime/educational-notes.js +100 -0
  36. package/dist/runtime/educational-notes.js.map +1 -0
  37. package/dist/runtime/format.d.ts.map +1 -1
  38. package/dist/runtime/format.js +4 -0
  39. package/dist/runtime/format.js.map +1 -1
  40. package/dist/runtime/formula-factory.d.ts +26 -0
  41. package/dist/runtime/formula-factory.d.ts.map +1 -0
  42. package/dist/runtime/formula-factory.js +67 -0
  43. package/dist/runtime/formula-factory.js.map +1 -0
  44. package/dist/runtime/interpreter.d.ts +41 -0
  45. package/dist/runtime/interpreter.d.ts.map +1 -1
  46. package/dist/runtime/interpreter.js +1039 -246
  47. package/dist/runtime/interpreter.js.map +1 -1
  48. package/dist/tests/arithmetic.test.js +2 -1
  49. package/dist/tests/arithmetic.test.js.map +1 -1
  50. package/dist/tests/examples.test.js +12 -1
  51. package/dist/tests/examples.test.js.map +1 -1
  52. package/dist/tests/exhaustive-matrix.test.js +1 -1
  53. package/dist/tests/exhaustive-matrix.test.js.map +1 -1
  54. package/dist/tests/limits.test.js +17 -4
  55. package/dist/tests/limits.test.js.map +1 -1
  56. package/dist/tests/result-bindings.test.d.ts +2 -0
  57. package/dist/tests/result-bindings.test.d.ts.map +1 -0
  58. package/dist/tests/result-bindings.test.js +59 -0
  59. package/dist/tests/result-bindings.test.js.map +1 -0
  60. package/dist/tests/stress-hardware.test.d.ts +2 -0
  61. package/dist/tests/stress-hardware.test.d.ts.map +1 -0
  62. package/dist/tests/stress-hardware.test.js +673 -0
  63. package/dist/tests/stress-hardware.test.js.map +1 -0
  64. package/dist/tests/v1-features.test.js +1 -1
  65. package/dist/tests/v1-features.test.js.map +1 -1
  66. package/dist/types/index.d.ts +1 -1
  67. package/dist/types/index.d.ts.map +1 -1
  68. package/dist/utils/memo.d.ts +3 -0
  69. package/dist/utils/memo.d.ts.map +1 -1
  70. package/dist/utils/memo.js +30 -0
  71. package/dist/utils/memo.js.map +1 -1
  72. package/package.json +2 -1
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const interpreter_1 = require("../runtime/interpreter");
5
+ const propositional_1 = require("../profiles/classical/propositional");
6
+ (0, vitest_1.describe)('Captured action results', () => {
7
+ (0, vitest_1.it)('stores derivation results in variables with structured fields', () => {
8
+ const interp = new interpreter_1.Interpreter();
9
+ const out = interp.execute(`
10
+ logic classical.propositional
11
+ axiom a1 = P -> Q
12
+ axiom a2 = P
13
+ let manual = Q
14
+ let deriv = derive Q from {a1, a2}
15
+ let same = formula_eq(deriv.formula, manual)
16
+ `, '<test>');
17
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
18
+ const bindings = interp.getLetBindings();
19
+ (0, vitest_1.expect)((0, propositional_1.formulaToString)(bindings.get('deriv'))).toBe('Q');
20
+ (0, vitest_1.expect)(bindings.get('deriv.status')?.name).toBe('"provable"');
21
+ (0, vitest_1.expect)(bindings.get('deriv.command')?.name).toBe('"derive"');
22
+ (0, vitest_1.expect)(bindings.get('same')?.kind).toBe('number');
23
+ (0, vitest_1.expect)(bindings.get('same')?.value).toBe(1);
24
+ });
25
+ (0, vitest_1.it)('decomposes formulas into list values and supports indexing helpers', () => {
26
+ const interp = new interpreter_1.Interpreter();
27
+ const out = interp.execute(`
28
+ logic classical.propositional
29
+ let f = (P & Q) -> R
30
+ let atoms = atoms_of(f)
31
+ let count = len(atoms)
32
+ let second = at(atoms, 1)
33
+ `, '<test>');
34
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
35
+ const bindings = interp.getLetBindings();
36
+ (0, vitest_1.expect)(bindings.get('atoms')?.kind).toBe('list');
37
+ (0, vitest_1.expect)(bindings.get('count')?.value).toBe(3);
38
+ (0, vitest_1.expect)(bindings.get('second')?.kind).toBe('atom');
39
+ (0, vitest_1.expect)(bindings.get('second')?.name).toBe('Q');
40
+ });
41
+ (0, vitest_1.it)('captures truth table metadata as structured fields', () => {
42
+ const interp = new interpreter_1.Interpreter();
43
+ const out = interp.execute(`
44
+ logic classical.propositional
45
+ let tt = truth_table (P & Q)
46
+ let vars = tt.variables
47
+ let first = at(vars, 0)
48
+ let total = len(vars)
49
+ `, '<test>');
50
+ (0, vitest_1.expect)(out.exitCode).toBe(0);
51
+ const bindings = interp.getLetBindings();
52
+ (0, vitest_1.expect)(bindings.get('tt.status')?.name).toBe('"satisfiable"');
53
+ (0, vitest_1.expect)(bindings.get('tt.rows_count')?.value).toBe(4);
54
+ (0, vitest_1.expect)(bindings.get('vars')?.kind).toBe('list');
55
+ (0, vitest_1.expect)(bindings.get('first')?.name).toBe('P');
56
+ (0, vitest_1.expect)(bindings.get('total')?.value).toBe(2);
57
+ });
58
+ });
59
+ //# sourceMappingURL=result-bindings.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-bindings.test.js","sourceRoot":"","sources":["../../src/tests/result-bindings.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stress-hardware.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stress-hardware.test.d.ts","sourceRoot":"","sources":["../../src/tests/stress-hardware.test.ts"],"names":[],"mappings":""}