@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
@@ -45,6 +45,17 @@ export interface CountermodelCmdNode extends ASTNode {
45
45
  kind: 'countermodel_cmd';
46
46
  formula: Formula;
47
47
  }
48
+ export type ActionExprKind = 'check_valid' | 'check_satisfiable' | 'check_equivalent' | 'derive' | 'prove' | 'countermodel' | 'truth_table' | 'explain';
49
+ export interface ActionExprNode {
50
+ kind: 'action_expr';
51
+ action: ActionExprKind;
52
+ source: SourceLocation;
53
+ formula?: Formula;
54
+ left?: Formula;
55
+ right?: Formula;
56
+ goal?: Formula;
57
+ premises?: string[];
58
+ }
48
59
  export interface TruthTableCmdNode extends ASTNode {
49
60
  kind: 'truth_table_cmd';
50
61
  formula: Formula;
@@ -165,7 +176,13 @@ export interface LetDescriptionNode extends ASTNode {
165
176
  letType: 'description';
166
177
  description: string;
167
178
  }
168
- export type LetDeclNode = LetPassageNode | LetFormalizeNode | LetFormulaNode | LetDescriptionNode;
179
+ export interface LetActionNode extends ASTNode {
180
+ kind: 'let_decl';
181
+ name: string;
182
+ letType: 'action';
183
+ action: ActionExprNode;
184
+ }
185
+ export type LetDeclNode = LetPassageNode | LetFormalizeNode | LetFormulaNode | LetDescriptionNode | LetActionNode;
169
186
  export interface ClaimDeclNode extends ASTNode {
170
187
  kind: 'claim_decl';
171
188
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/ast/nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/ast/nodes.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,9 @@ export declare class Lexer {
10
10
  private line;
11
11
  private column;
12
12
  private file;
13
+ private activeKeywords;
13
14
  diagnostics: Diagnostic[];
14
- constructor(source: string, file?: string);
15
+ constructor(source: string, file?: string, profile?: string);
15
16
  tokenize(): Token[];
16
17
  private addToken;
17
18
  private advance;
@@ -1 +1 @@
1
- {"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../../src/lexer/lexer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAuB,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,IAAI,CAAS;IACd,WAAW,EAAE,UAAU,EAAE,CAAM;gBAE1B,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB;IAKpD,QAAQ,IAAI,KAAK,EAAE;IA8PnB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,UAAU;IAuDlB,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,cAAc;CAyBvB"}
1
+ {"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../../src/lexer/lexer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAA8C,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,cAAc,CAA4B;IAC3C,WAAW,EAAE,UAAU,EAAE,CAAM;gBAE1B,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB,EAAE,OAAO,CAAC,EAAE,MAAM;IAMtE,QAAQ,IAAI,KAAK,EAAE;IA8PnB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,UAAU;IAuDlB,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,cAAc;CAyBvB"}
@@ -12,10 +12,12 @@ class Lexer {
12
12
  line = 1;
13
13
  column = 1;
14
14
  file;
15
+ activeKeywords;
15
16
  diagnostics = [];
16
- constructor(source, file = '<stdin>') {
17
+ constructor(source, file = '<stdin>', profile) {
17
18
  this.source = source;
18
19
  this.file = file;
20
+ this.activeKeywords = profile !== undefined ? (0, tokens_1.getKeywordsForProfile)(profile) : tokens_1.KEYWORDS;
19
21
  }
20
22
  tokenize() {
21
23
  this.tokens = [];
@@ -433,7 +435,7 @@ class Lexer {
433
435
  this.advance();
434
436
  }
435
437
  const lower = value.toLowerCase();
436
- const kwType = tokens_1.KEYWORDS[lower];
438
+ const kwType = this.activeKeywords[lower];
437
439
  if (kwType) {
438
440
  this.tokens.push({
439
441
  type: kwType,
@@ -1 +1 @@
1
- {"version":3,"file":"lexer.js","sourceRoot":"","sources":["../../src/lexer/lexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lexer.js","sourceRoot":"","sources":["../../src/lexer/lexer.ts"],"names":[],"mappings":"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"}
@@ -90,5 +90,22 @@ export interface Token {
90
90
  line: number;
91
91
  column: number;
92
92
  }
93
+ /**
94
+ * Core keywords — always reserved regardless of profile.
95
+ */
96
+ export declare const CORE_KEYWORDS: Record<string, TokenType>;
97
+ /**
98
+ * Profile-specific keywords — only reserved when the matching profile is active.
99
+ * Keys are profile prefixes: a keyword activates when the current profile starts with the key.
100
+ */
101
+ export declare const PROFILE_KEYWORDS: Record<string, Record<string, TokenType>>;
102
+ /**
103
+ * Build the full keyword map for a given profile.
104
+ * If no profile is given, all keywords (core + all profile) are active (backward compatible).
105
+ */
106
+ export declare function getKeywordsForProfile(profile?: string): Record<string, TokenType>;
107
+ /**
108
+ * Legacy: all keywords combined (for backward compatibility).
109
+ */
93
110
  export declare const KEYWORDS: Record<string, TokenType>;
94
111
  //# sourceMappingURL=tokens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/lexer/tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/lexer/tokens.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@
3
3
  // ST Lexer — Tokens
4
4
  // ============================================================
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.KEYWORDS = exports.TokenType = void 0;
6
+ exports.KEYWORDS = exports.PROFILE_KEYWORDS = exports.CORE_KEYWORDS = exports.TokenType = void 0;
7
+ exports.getKeywordsForProfile = getKeywordsForProfile;
7
8
  var TokenType;
8
9
  (function (TokenType) {
9
10
  // Keywords
@@ -99,7 +100,10 @@ var TokenType;
99
100
  TokenType["EOF"] = "EOF";
100
101
  TokenType["COMMENT"] = "COMMENT";
101
102
  })(TokenType || (exports.TokenType = TokenType = {}));
102
- exports.KEYWORDS = {
103
+ /**
104
+ * Core keywords — always reserved regardless of profile.
105
+ */
106
+ exports.CORE_KEYWORDS = {
103
107
  // ── English keywords ───────────────────────────────────────
104
108
  logic: TokenType.LOGIC,
105
109
  axiom: TokenType.AXIOM,
@@ -138,6 +142,21 @@ exports.KEYWORDS = {
138
142
  nand: TokenType.NAND,
139
143
  nor: TokenType.NOR,
140
144
  xor: TokenType.XOR,
145
+ import: TokenType.IMPORT,
146
+ importar: TokenType.IMPORT,
147
+ export: TokenType.EXPORT,
148
+ exportar: TokenType.EXPORT,
149
+ assume: TokenType.ASSUME,
150
+ asumir: TokenType.ASSUME,
151
+ show: TokenType.SHOW,
152
+ demostrar: TokenType.SHOW,
153
+ qed: TokenType.QED,
154
+ theory: TokenType.THEORY,
155
+ teoria: TokenType.THEORY,
156
+ extends: TokenType.EXTENDS,
157
+ extiende: TokenType.EXTENDS,
158
+ private: TokenType.PRIVATE,
159
+ privado: TokenType.PRIVATE,
141
160
  // ── Spanish aliases (aliases en español) ───────────────────
142
161
  logica: TokenType.LOGIC,
143
162
  axioma: TokenType.AXIOM,
@@ -166,25 +185,6 @@ exports.KEYWORDS = {
166
185
  explicar: TokenType.EXPLAIN,
167
186
  refute: TokenType.REFUTE,
168
187
  refutar: TokenType.REFUTE,
169
- next: TokenType.NEXT,
170
- siguiente: TokenType.NEXT,
171
- until: TokenType.UNTIL,
172
- hasta: TokenType.UNTIL,
173
- import: TokenType.IMPORT,
174
- importar: TokenType.IMPORT,
175
- export: TokenType.EXPORT,
176
- exportar: TokenType.EXPORT,
177
- assume: TokenType.ASSUME,
178
- asumir: TokenType.ASSUME,
179
- show: TokenType.SHOW,
180
- demostrar: TokenType.SHOW,
181
- qed: TokenType.QED,
182
- theory: TokenType.THEORY,
183
- teoria: TokenType.THEORY,
184
- extends: TokenType.EXTENDS,
185
- extiende: TokenType.EXTENDS,
186
- private: TokenType.PRIVATE,
187
- privado: TokenType.PRIVATE,
188
188
  imprimir: TokenType.PRINT,
189
189
  asignar: TokenType.SET,
190
190
  si: TokenType.IF,
@@ -195,4 +195,41 @@ exports.KEYWORDS = {
195
195
  funcion: TokenType.FN,
196
196
  retornar: TokenType.RETURN,
197
197
  };
198
+ /**
199
+ * Profile-specific keywords — only reserved when the matching profile is active.
200
+ * Keys are profile prefixes: a keyword activates when the current profile starts with the key.
201
+ */
202
+ exports.PROFILE_KEYWORDS = {
203
+ temporal: {
204
+ next: TokenType.NEXT,
205
+ siguiente: TokenType.NEXT,
206
+ until: TokenType.UNTIL,
207
+ hasta: TokenType.UNTIL,
208
+ },
209
+ };
210
+ /**
211
+ * Build the full keyword map for a given profile.
212
+ * If no profile is given, all keywords (core + all profile) are active (backward compatible).
213
+ */
214
+ function getKeywordsForProfile(profile) {
215
+ if (!profile) {
216
+ // No profile context: all keywords active (backward compatible)
217
+ const all = { ...exports.CORE_KEYWORDS };
218
+ for (const group of Object.values(exports.PROFILE_KEYWORDS)) {
219
+ Object.assign(all, group);
220
+ }
221
+ return all;
222
+ }
223
+ const keywords = { ...exports.CORE_KEYWORDS };
224
+ for (const [prefix, group] of Object.entries(exports.PROFILE_KEYWORDS)) {
225
+ if (profile.startsWith(prefix)) {
226
+ Object.assign(keywords, group);
227
+ }
228
+ }
229
+ return keywords;
230
+ }
231
+ /**
232
+ * Legacy: all keywords combined (for backward compatibility).
233
+ */
234
+ exports.KEYWORDS = getKeywordsForProfile();
198
235
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/lexer/tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/lexer/tokens.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,8 @@ export declare class Parser {
11
11
  private knownFunctionNames;
12
12
  private knownTheoryNames;
13
13
  private currentProfile;
14
- constructor(file?: string);
14
+ private initialProfile;
15
+ constructor(file?: string, profile?: string);
15
16
  parse(source: string): Program;
16
17
  private parseStatement;
17
18
  private parseLogicDecl;
@@ -30,6 +31,8 @@ export declare class Parser {
30
31
  private parseRenderCmd;
31
32
  private parseAnalyzeCmd;
32
33
  private parseExplainCmd;
34
+ private canStartActionExpr;
35
+ private parseActionExpr;
33
36
  private parseImportDecl;
34
37
  private parseProofBlock;
35
38
  private parseTheoryDecl;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAW,UAAU,EAAkB,MAAM,UAAU,CAAC;AAC/D,OAAO,EACL,OAAO,EAkCR,MAAM,cAAc,CAAC;AAatB,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,IAAI,CAAS;IACd,WAAW,EAAE,UAAU,EAAE,CAAM;IACtC,OAAO,CAAC,kBAAkB,CAMvB;IACH,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,cAAc,CAAc;gBAExB,IAAI,GAAE,MAAkB;IAIpC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAmC9B,OAAO,CAAC,cAAc;IA0FtB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,YAAY;IAmDpB,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,eAAe;IA6CvB,OAAO,CAAC,eAAe;IA+DvB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,UAAU;IAmClB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,UAAU;IAuClB,OAAO,CAAC,SAAS;IA4LjB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,eAAe;IA0EvB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,WAAW;IAKnB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAkClB,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,sBAAsB;CA8C/B"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAW,UAAU,EAAkB,MAAM,UAAU,CAAC;AAC/D,OAAO,EACL,OAAO,EAmCR,MAAM,cAAc,CAAC;AAatB,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,IAAI,CAAS;IACd,WAAW,EAAE,UAAU,EAAE,CAAM;IACtC,OAAO,CAAC,kBAAkB,CAUvB;IACH,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,cAAc,CAAqB;gBAE/B,IAAI,GAAE,MAAkB,EAAE,OAAO,CAAC,EAAE,MAAM;IAKtD,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAmC9B,OAAO,CAAC,cAAc;IA0FtB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,YAAY;IAwDpB,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,eAAe;IA4DvB,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,eAAe;IA6CvB,OAAO,CAAC,eAAe;IA+DvB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,UAAU;IAmClB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,UAAU;IAuClB,OAAO,CAAC,SAAS;IA4MjB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,eAAe;IA0EvB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,WAAW;IAKnB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAkClB,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,sBAAsB;CA8C/B"}
@@ -26,15 +26,21 @@ class Parser {
26
26
  'is_valid',
27
27
  'is_satisfiable',
28
28
  'get_atoms',
29
+ 'atoms_of',
30
+ 'len',
31
+ 'at',
32
+ 'formula_eq',
29
33
  'input',
30
34
  ]);
31
35
  knownTheoryNames = new Set();
32
36
  currentProfile = '';
33
- constructor(file = '<stdin>') {
37
+ initialProfile;
38
+ constructor(file = '<stdin>', profile) {
34
39
  this.file = file;
40
+ this.initialProfile = profile;
35
41
  }
36
42
  parse(source) {
37
- const lexer = new lexer_1.Lexer(source, this.file);
43
+ const lexer = new lexer_1.Lexer(source, this.file, this.initialProfile);
38
44
  this.tokens = lexer.tokenize();
39
45
  this.diagnostics.push(...lexer.diagnostics);
40
46
  this.pos = 0;
@@ -241,6 +247,10 @@ class Parser {
241
247
  this.expect(tokens_1.TokenType.LET);
242
248
  const name = this.expectIdent();
243
249
  this.expect(tokens_1.TokenType.EQUALS);
250
+ if (this.canStartActionExpr()) {
251
+ const action = this.parseActionExpr();
252
+ return { kind: 'let_decl', name, letType: 'action', action, source: src };
253
+ }
244
254
  if (this.match(tokens_1.TokenType.PASSAGE)) {
245
255
  this.expect(tokens_1.TokenType.LPAREN);
246
256
  this.expect(tokens_1.TokenType.LBRACKET_DOUBLE);
@@ -383,6 +393,65 @@ class Parser {
383
393
  const formula = this.parseFormula();
384
394
  return { kind: 'explain_cmd', formula, source: src };
385
395
  }
396
+ canStartActionExpr() {
397
+ return (this.checkType(tokens_1.TokenType.CHECK) ||
398
+ this.checkType(tokens_1.TokenType.DERIVE) ||
399
+ this.checkType(tokens_1.TokenType.PROVE) ||
400
+ this.checkType(tokens_1.TokenType.COUNTERMODEL) ||
401
+ this.checkType(tokens_1.TokenType.REFUTE) ||
402
+ this.checkType(tokens_1.TokenType.TRUTH_TABLE) ||
403
+ this.checkType(tokens_1.TokenType.EXPLAIN));
404
+ }
405
+ parseActionExpr() {
406
+ const src = this.loc();
407
+ if (this.match(tokens_1.TokenType.CHECK)) {
408
+ if (this.match(tokens_1.TokenType.VALID)) {
409
+ const formula = this.parseFormula();
410
+ return { kind: 'action_expr', action: 'check_valid', formula, source: src };
411
+ }
412
+ if (this.match(tokens_1.TokenType.SATISFIABLE)) {
413
+ const formula = this.parseFormula();
414
+ return { kind: 'action_expr', action: 'check_satisfiable', formula, source: src };
415
+ }
416
+ if (this.match(tokens_1.TokenType.EQUIVALENT)) {
417
+ const left = this.parseFormula();
418
+ this.expect(tokens_1.TokenType.COMMA);
419
+ const right = this.parseFormula();
420
+ return { kind: 'action_expr', action: 'check_equivalent', left, right, source: src };
421
+ }
422
+ throw new Error(`Se esperaba 'valid', 'satisfiable' o 'equivalent' despues de 'check'`);
423
+ }
424
+ if (this.match(tokens_1.TokenType.DERIVE)) {
425
+ const goal = this.parseFormula();
426
+ this.expect(tokens_1.TokenType.FROM);
427
+ const premises = this.parseIdList();
428
+ return { kind: 'action_expr', action: 'derive', goal, premises, source: src };
429
+ }
430
+ if (this.match(tokens_1.TokenType.PROVE)) {
431
+ const goal = this.parseFormula();
432
+ this.expect(tokens_1.TokenType.FROM);
433
+ const premises = this.parseIdList();
434
+ return { kind: 'action_expr', action: 'prove', goal, premises, source: src };
435
+ }
436
+ if (this.checkType(tokens_1.TokenType.COUNTERMODEL)) {
437
+ this.advance();
438
+ const formula = this.parseFormula();
439
+ return { kind: 'action_expr', action: 'countermodel', formula, source: src };
440
+ }
441
+ if (this.match(tokens_1.TokenType.REFUTE)) {
442
+ const formula = this.parseFormula();
443
+ return { kind: 'action_expr', action: 'countermodel', formula, source: src };
444
+ }
445
+ if (this.match(tokens_1.TokenType.TRUTH_TABLE)) {
446
+ const formula = this.parseFormula();
447
+ return { kind: 'action_expr', action: 'truth_table', formula, source: src };
448
+ }
449
+ if (this.match(tokens_1.TokenType.EXPLAIN)) {
450
+ const formula = this.parseFormula();
451
+ return { kind: 'action_expr', action: 'explain', formula, source: src };
452
+ }
453
+ throw new Error(`Se esperaba una acción capturable, encontrado '${this.current().value}'`);
454
+ }
386
455
  // import "path/to/file.st" | import path/to/file
387
456
  parseImportDecl() {
388
457
  const src = this.loc();
@@ -887,6 +956,21 @@ class Parser {
887
956
  source: { line: tok.line, column: tok.column },
888
957
  };
889
958
  }
959
+ if (this.match(tokens_1.TokenType.LBRACKET)) {
960
+ const items = [];
961
+ if (!this.checkType(tokens_1.TokenType.RBRACKET)) {
962
+ items.push(this.parseFormula());
963
+ while (this.match(tokens_1.TokenType.COMMA)) {
964
+ items.push(this.parseFormula());
965
+ }
966
+ }
967
+ this.expect(tokens_1.TokenType.RBRACKET);
968
+ return {
969
+ kind: 'list',
970
+ args: items,
971
+ source: this.loc(),
972
+ };
973
+ }
890
974
  // Literal de texto (String)
891
975
  if (this.checkType(tokens_1.TokenType.STRING)) {
892
976
  const tok = this.current();