@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.
- package/dist/ast/nodes.d.ts +18 -1
- package/dist/ast/nodes.d.ts.map +1 -1
- package/dist/lexer/lexer.d.ts +2 -1
- package/dist/lexer/lexer.d.ts.map +1 -1
- package/dist/lexer/lexer.js +4 -2
- package/dist/lexer/lexer.js.map +1 -1
- package/dist/lexer/tokens.d.ts +17 -0
- package/dist/lexer/tokens.d.ts.map +1 -1
- package/dist/lexer/tokens.js +58 -21
- package/dist/lexer/tokens.js.map +1 -1
- package/dist/parser/parser.d.ts +4 -1
- package/dist/parser/parser.d.ts.map +1 -1
- package/dist/parser/parser.js +86 -2
- package/dist/parser/parser.js.map +1 -1
- package/dist/profiles/classical/dpll.d.ts +10 -0
- package/dist/profiles/classical/dpll.d.ts.map +1 -0
- package/dist/profiles/classical/dpll.js +446 -0
- package/dist/profiles/classical/dpll.js.map +1 -0
- package/dist/profiles/classical/first-order.d.ts +1 -0
- package/dist/profiles/classical/first-order.d.ts.map +1 -1
- package/dist/profiles/classical/first-order.js +35 -0
- package/dist/profiles/classical/first-order.js.map +1 -1
- package/dist/profiles/classical/propositional.d.ts +6 -1
- package/dist/profiles/classical/propositional.d.ts.map +1 -1
- package/dist/profiles/classical/propositional.js +434 -38
- package/dist/profiles/classical/propositional.js.map +1 -1
- package/dist/profiles/paraconsistent/belnap.d.ts.map +1 -1
- package/dist/profiles/paraconsistent/belnap.js +151 -3
- package/dist/profiles/paraconsistent/belnap.js.map +1 -1
- package/dist/profiles/shared/tableau-engine.d.ts.map +1 -1
- package/dist/profiles/shared/tableau-engine.js +49 -22
- package/dist/profiles/shared/tableau-engine.js.map +1 -1
- package/dist/runtime/educational-notes.d.ts +27 -0
- package/dist/runtime/educational-notes.d.ts.map +1 -0
- package/dist/runtime/educational-notes.js +100 -0
- package/dist/runtime/educational-notes.js.map +1 -0
- package/dist/runtime/format.d.ts.map +1 -1
- package/dist/runtime/format.js +4 -0
- package/dist/runtime/format.js.map +1 -1
- package/dist/runtime/formula-factory.d.ts +26 -0
- package/dist/runtime/formula-factory.d.ts.map +1 -0
- package/dist/runtime/formula-factory.js +67 -0
- package/dist/runtime/formula-factory.js.map +1 -0
- package/dist/runtime/interpreter.d.ts +41 -0
- package/dist/runtime/interpreter.d.ts.map +1 -1
- package/dist/runtime/interpreter.js +1039 -246
- package/dist/runtime/interpreter.js.map +1 -1
- package/dist/tests/arithmetic.test.js +2 -1
- package/dist/tests/arithmetic.test.js.map +1 -1
- package/dist/tests/examples.test.js +12 -1
- package/dist/tests/examples.test.js.map +1 -1
- package/dist/tests/exhaustive-matrix.test.js +1 -1
- package/dist/tests/exhaustive-matrix.test.js.map +1 -1
- package/dist/tests/limits.test.js +17 -4
- package/dist/tests/limits.test.js.map +1 -1
- package/dist/tests/result-bindings.test.d.ts +2 -0
- package/dist/tests/result-bindings.test.d.ts.map +1 -0
- package/dist/tests/result-bindings.test.js +59 -0
- package/dist/tests/result-bindings.test.js.map +1 -0
- package/dist/tests/stress-hardware.test.d.ts +2 -0
- package/dist/tests/stress-hardware.test.d.ts.map +1 -0
- package/dist/tests/stress-hardware.test.js +673 -0
- package/dist/tests/stress-hardware.test.js.map +1 -0
- package/dist/tests/v1-features.test.js +1 -1
- package/dist/tests/v1-features.test.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/memo.d.ts +3 -0
- package/dist/utils/memo.d.ts.map +1 -1
- package/dist/utils/memo.js +30 -0
- package/dist/utils/memo.js.map +1 -1
- package/package.json +2 -1
package/dist/ast/nodes.d.ts
CHANGED
|
@@ -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
|
|
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;
|
package/dist/ast/nodes.d.ts.map
CHANGED
|
@@ -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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"}
|
package/dist/lexer/lexer.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/lexer/lexer.js
CHANGED
|
@@ -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 =
|
|
438
|
+
const kwType = this.activeKeywords[lower];
|
|
437
439
|
if (kwType) {
|
|
438
440
|
this.tokens.push({
|
|
439
441
|
type: kwType,
|
package/dist/lexer/lexer.js.map
CHANGED
|
@@ -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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"}
|
package/dist/lexer/tokens.d.ts
CHANGED
|
@@ -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":"AAIA,oBAAY,SAAS;IAEnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,EAAE,OAAO;IACT,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,IAAI,SAAS,CAAE,oBAAoB;IACnC,KAAK,UAAU,CAAE,qBAAqB;IACtC,MAAM,WAAW,CAAE,cAAc;IACjC,MAAM,WAAW,CAAE,iBAAiB;IACpC,MAAM,WAAW,CAAE,6BAA6B;IAChD,IAAI,SAAS,CAAE,YAAY;IAC3B,GAAG,QAAQ,CAAE,kBAAkB;IAC/B,MAAM,WAAW,CAAE,qBAAqB;IACxC,OAAO,YAAY,CAAE,qBAAqB;IAC1C,OAAO,YAAY,CAAE,iCAAiC;IACtD,KAAK,UAAU,CAAE,gBAAgB;IACjC,GAAG,QAAQ,CAAE,0BAA0B;IACvC,EAAE,OAAO,CAAE,iBAAiB;IAC5B,IAAI,SAAS,CAAE,cAAc;IAC7B,GAAG,QAAQ,CAAE,WAAW;IACxB,EAAE,OAAO,CAAE,qBAAqB;IAChC,KAAK,UAAU,CAAE,aAAa;IAC9B,EAAE,OAAO,CAAE,uBAAuB;IAClC,MAAM,WAAW,CAAE,uBAAuB;IAG1C,KAAK,UAAU,CAAE,KAAK;IACtB,GAAG,QAAQ,CAAE,IAAI;IACjB,EAAE,OAAO,CAAE,IAAI;IACf,GAAG,QAAQ,CAAE,IAAI;IACjB,aAAa,kBAAkB,CAAE,MAAM;IACvC,UAAU,eAAe,CAAE,KAAK;IAChC,MAAM,WAAW,CAAE,IAAI;IACvB,IAAI,SAAS,CAAE,WAAW;IAC1B,GAAG,QAAQ,CAAE,UAAU;IACvB,GAAG,QAAQ,CAAE,UAAU;IAGvB,IAAI,SAAS,CAAE,IAAI;IACnB,KAAK,UAAU,CAAE,IAAI;IACrB,IAAI,SAAS,CAAE,IAAI;IACnB,KAAK,UAAU,CAAE,IAAI;IACrB,OAAO,YAAY,CAAE,IAAI;IACzB,EAAE,OAAO,CAAE,IAAI;IACf,EAAE,OAAO,CAAE,IAAI;IACf,GAAG,QAAQ,CAAE,KAAK;IAClB,GAAG,QAAQ,CAAE,KAAK;IAGlB,MAAM,WAAW,CAAE,IAAI;IACvB,MAAM,WAAW,CAAE,IAAI;IACvB,MAAM,WAAW,CAAE,IAAI;IACvB,MAAM,WAAW,CAAE,IAAI;IACvB,eAAe,oBAAoB,CAAE,KAAK;IAC1C,eAAe,oBAAoB,CAAE,KAAK;IAC1C,QAAQ,aAAa,CAAE,IAAI;IAC3B,QAAQ,aAAa,CAAE,IAAI;IAG3B,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,MAAM,WAAW;IAGjB,KAAK,UAAU,CAAE,IAAI;IACrB,KAAK,UAAU,CAAE,IAAI;IACrB,IAAI,SAAS,CAAE,IAAI;IACnB,GAAG,QAAQ,CAAE,IAAI;IAGjB,GAAG,QAAQ,CAAE,KAAK;IAClB,OAAO,YAAY,CAAE,KAAK;IAG1B,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/lexer/tokens.ts"],"names":[],"mappings":"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"}
|
package/dist/lexer/tokens.js
CHANGED
|
@@ -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
|
-
|
|
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
|
package/dist/lexer/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/lexer/tokens.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,oBAAoB;AACpB,+DAA+D;;;
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/lexer/tokens.ts"],"names":[],"mappings":"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"}
|
package/dist/parser/parser.d.ts
CHANGED
|
@@ -11,7 +11,8 @@ export declare class Parser {
|
|
|
11
11
|
private knownFunctionNames;
|
|
12
12
|
private knownTheoryNames;
|
|
13
13
|
private currentProfile;
|
|
14
|
-
|
|
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,
|
|
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"}
|
package/dist/parser/parser.js
CHANGED
|
@@ -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
|
-
|
|
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();
|