@dseict/psc-interpreter 1.0.0 → 1.1.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.
- package/dist/PSCLexerBase.d.ts +2 -1
- package/dist/PSCLexerBase.d.ts.map +1 -1
- package/dist/PSCLexerBase.js +1 -1
- package/dist/PSCLexerBase.js.map +1 -1
- package/dist/_antlr/PSCLexer.d.ts +2 -1
- package/dist/_antlr/PSCLexer.d.ts.map +1 -1
- package/dist/_antlr/PSCLexer.js +1 -3
- package/dist/_antlr/PSCLexer.js.map +1 -1
- package/dist/_antlr/PSCParser.d.ts +3 -2
- package/dist/_antlr/PSCParser.d.ts.map +1 -1
- package/dist/_antlr/PSCParser.js +40 -41
- package/dist/_antlr/PSCParser.js.map +1 -1
- package/dist/_antlr/PSCParserVisitor.d.ts +35 -35
- package/dist/_antlr/PSCParserVisitor.d.ts.map +1 -1
- package/dist/_antlr/PSCParserVisitor.js +0 -35
- package/dist/_antlr/PSCParserVisitor.js.map +1 -1
- package/dist/events.d.ts +2 -2
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +2 -2
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/visitor.d.ts +2 -2
- package/dist/visitor.d.ts.map +1 -1
- package/dist/visitor.js +12 -13
- package/dist/visitor.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
import { ParseTreeVisitor } from 'antlr4';
|
|
2
|
-
import { ProgramContext } from "./PSCParser";
|
|
3
|
-
import { AddOpContext } from "./PSCParser";
|
|
4
|
-
import { MulOpContext } from "./PSCParser";
|
|
5
|
-
import { ExpOpContext } from "./PSCParser";
|
|
6
|
-
import { CompOpContext } from "./PSCParser";
|
|
7
|
-
import { ExprContext } from "./PSCParser";
|
|
8
|
-
import { OrExprContext } from "./PSCParser";
|
|
9
|
-
import { AndExprContext } from "./PSCParser";
|
|
10
|
-
import { CompExprContext } from "./PSCParser";
|
|
11
|
-
import { AddExprContext } from "./PSCParser";
|
|
12
|
-
import { MulExprContext } from "./PSCParser";
|
|
13
|
-
import { ExpExprContext } from "./PSCParser";
|
|
14
|
-
import { UnaryExprContext } from "./PSCParser";
|
|
15
|
-
import { NotExprContext } from "./PSCParser";
|
|
16
|
-
import { PrimaryExprContext } from "./PSCParser";
|
|
17
|
-
import { GroupExprContext } from "./PSCParser";
|
|
18
|
-
import { AtomContext } from "./PSCParser";
|
|
19
|
-
import { LitsContext } from "./PSCParser";
|
|
20
|
-
import { IntLitsContext } from "./PSCParser";
|
|
21
|
-
import { FloatLitsContext } from "./PSCParser";
|
|
22
|
-
import { ArrayLitsContext } from "./PSCParser";
|
|
23
|
-
import { StmtsContext } from "./PSCParser";
|
|
24
|
-
import { StmtContext } from "./PSCParser";
|
|
25
|
-
import { BlockContext } from "./PSCParser";
|
|
26
|
-
import { IfStmtContext } from "./PSCParser";
|
|
27
|
-
import { WhileStmtContext } from "./PSCParser";
|
|
28
|
-
import { DoWhileStmtContext } from "./PSCParser";
|
|
29
|
-
import { RepeatUntilStmtContext } from "./PSCParser";
|
|
30
|
-
import { ForStmtContext } from "./PSCParser";
|
|
31
|
-
import { AsmStmtContext } from "./PSCParser";
|
|
32
|
-
import { LvalueContext } from "./PSCParser";
|
|
33
|
-
import { InputStmtContext } from "./PSCParser";
|
|
34
|
-
import { OutputStmtContext } from "./PSCParser";
|
|
35
|
-
import { SubprogramContext } from "./PSCParser";
|
|
36
|
-
import { ReturnStmtContext } from "./PSCParser";
|
|
2
|
+
import type { ProgramContext } from "./PSCParser";
|
|
3
|
+
import type { AddOpContext } from "./PSCParser";
|
|
4
|
+
import type { MulOpContext } from "./PSCParser";
|
|
5
|
+
import type { ExpOpContext } from "./PSCParser";
|
|
6
|
+
import type { CompOpContext } from "./PSCParser";
|
|
7
|
+
import type { ExprContext } from "./PSCParser";
|
|
8
|
+
import type { OrExprContext } from "./PSCParser";
|
|
9
|
+
import type { AndExprContext } from "./PSCParser";
|
|
10
|
+
import type { CompExprContext } from "./PSCParser";
|
|
11
|
+
import type { AddExprContext } from "./PSCParser";
|
|
12
|
+
import type { MulExprContext } from "./PSCParser";
|
|
13
|
+
import type { ExpExprContext } from "./PSCParser";
|
|
14
|
+
import type { UnaryExprContext } from "./PSCParser";
|
|
15
|
+
import type { NotExprContext } from "./PSCParser";
|
|
16
|
+
import type { PrimaryExprContext } from "./PSCParser";
|
|
17
|
+
import type { GroupExprContext } from "./PSCParser";
|
|
18
|
+
import type { AtomContext } from "./PSCParser";
|
|
19
|
+
import type { LitsContext } from "./PSCParser";
|
|
20
|
+
import type { IntLitsContext } from "./PSCParser";
|
|
21
|
+
import type { FloatLitsContext } from "./PSCParser";
|
|
22
|
+
import type { ArrayLitsContext } from "./PSCParser";
|
|
23
|
+
import type { StmtsContext } from "./PSCParser";
|
|
24
|
+
import type { StmtContext } from "./PSCParser";
|
|
25
|
+
import type { BlockContext } from "./PSCParser";
|
|
26
|
+
import type { IfStmtContext } from "./PSCParser";
|
|
27
|
+
import type { WhileStmtContext } from "./PSCParser";
|
|
28
|
+
import type { DoWhileStmtContext } from "./PSCParser";
|
|
29
|
+
import type { RepeatUntilStmtContext } from "./PSCParser";
|
|
30
|
+
import type { ForStmtContext } from "./PSCParser";
|
|
31
|
+
import type { AsmStmtContext } from "./PSCParser";
|
|
32
|
+
import type { LvalueContext } from "./PSCParser";
|
|
33
|
+
import type { InputStmtContext } from "./PSCParser";
|
|
34
|
+
import type { OutputStmtContext } from "./PSCParser";
|
|
35
|
+
import type { SubprogramContext } from "./PSCParser";
|
|
36
|
+
import type { ReturnStmtContext } from "./PSCParser";
|
|
37
37
|
/**
|
|
38
38
|
* This interface defines a complete generic visitor for a parse tree produced
|
|
39
39
|
* by `PSCParser`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PSCParserVisitor.d.ts","sourceRoot":"","sources":["../../src/_antlr/PSCParserVisitor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,QAAQ,CAAC;AAGxC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"PSCParserVisitor.d.ts","sourceRoot":"","sources":["../../src/_antlr/PSCParserVisitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,40 +1,5 @@
|
|
|
1
1
|
// Generated from ./PSCParser.g4 by ANTLR 4.13.0
|
|
2
2
|
import { ParseTreeVisitor } from 'antlr4';
|
|
3
|
-
import { ProgramContext } from "./PSCParser";
|
|
4
|
-
import { AddOpContext } from "./PSCParser";
|
|
5
|
-
import { MulOpContext } from "./PSCParser";
|
|
6
|
-
import { ExpOpContext } from "./PSCParser";
|
|
7
|
-
import { CompOpContext } from "./PSCParser";
|
|
8
|
-
import { ExprContext } from "./PSCParser";
|
|
9
|
-
import { OrExprContext } from "./PSCParser";
|
|
10
|
-
import { AndExprContext } from "./PSCParser";
|
|
11
|
-
import { CompExprContext } from "./PSCParser";
|
|
12
|
-
import { AddExprContext } from "./PSCParser";
|
|
13
|
-
import { MulExprContext } from "./PSCParser";
|
|
14
|
-
import { ExpExprContext } from "./PSCParser";
|
|
15
|
-
import { UnaryExprContext } from "./PSCParser";
|
|
16
|
-
import { NotExprContext } from "./PSCParser";
|
|
17
|
-
import { PrimaryExprContext } from "./PSCParser";
|
|
18
|
-
import { GroupExprContext } from "./PSCParser";
|
|
19
|
-
import { AtomContext } from "./PSCParser";
|
|
20
|
-
import { LitsContext } from "./PSCParser";
|
|
21
|
-
import { IntLitsContext } from "./PSCParser";
|
|
22
|
-
import { FloatLitsContext } from "./PSCParser";
|
|
23
|
-
import { ArrayLitsContext } from "./PSCParser";
|
|
24
|
-
import { StmtsContext } from "./PSCParser";
|
|
25
|
-
import { StmtContext } from "./PSCParser";
|
|
26
|
-
import { BlockContext } from "./PSCParser";
|
|
27
|
-
import { IfStmtContext } from "./PSCParser";
|
|
28
|
-
import { WhileStmtContext } from "./PSCParser";
|
|
29
|
-
import { DoWhileStmtContext } from "./PSCParser";
|
|
30
|
-
import { RepeatUntilStmtContext } from "./PSCParser";
|
|
31
|
-
import { ForStmtContext } from "./PSCParser";
|
|
32
|
-
import { AsmStmtContext } from "./PSCParser";
|
|
33
|
-
import { LvalueContext } from "./PSCParser";
|
|
34
|
-
import { InputStmtContext } from "./PSCParser";
|
|
35
|
-
import { OutputStmtContext } from "./PSCParser";
|
|
36
|
-
import { SubprogramContext } from "./PSCParser";
|
|
37
|
-
import { ReturnStmtContext } from "./PSCParser";
|
|
38
3
|
/**
|
|
39
4
|
* This interface defines a complete generic visitor for a parse tree produced
|
|
40
5
|
* by `PSCParser`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PSCParserVisitor.js","sourceRoot":"","sources":["../../src/_antlr/PSCParserVisitor.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,OAAO,EAAC,gBAAgB,EAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"PSCParserVisitor.js","sourceRoot":"","sources":["../../src/_antlr/PSCParserVisitor.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,OAAO,EAAC,gBAAgB,EAAC,MAAM,QAAQ,CAAC;AAwCxC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAyB,SAAQ,gBAAwB;IAC7E;;;;OAIG;IACH,YAAY,CAAmC;IAC/C;;;;OAIG;IACH,UAAU,CAAiC;IAC3C;;;;OAIG;IACH,UAAU,CAAiC;IAC3C;;;;OAIG;IACH,UAAU,CAAiC;IAC3C;;;;OAIG;IACH,WAAW,CAAkC;IAC7C;;;;OAIG;IACH,SAAS,CAAgC;IACzC;;;;OAIG;IACH,WAAW,CAAkC;IAC7C;;;;OAIG;IACH,YAAY,CAAmC;IAC/C;;;;OAIG;IACH,aAAa,CAAoC;IACjD;;;;OAIG;IACH,YAAY,CAAmC;IAC/C;;;;OAIG;IACH,YAAY,CAAmC;IAC/C;;;;OAIG;IACH,YAAY,CAAmC;IAC/C;;;;OAIG;IACH,cAAc,CAAqC;IACnD;;;;OAIG;IACH,YAAY,CAAmC;IAC/C;;;;OAIG;IACH,gBAAgB,CAAuC;IACvD;;;;OAIG;IACH,cAAc,CAAqC;IACnD;;;;OAIG;IACH,SAAS,CAAgC;IACzC;;;;OAIG;IACH,SAAS,CAAgC;IACzC;;;;OAIG;IACH,YAAY,CAAmC;IAC/C;;;;OAIG;IACH,cAAc,CAAqC;IACnD;;;;OAIG;IACH,cAAc,CAAqC;IACnD;;;;OAIG;IACH,UAAU,CAAiC;IAC3C;;;;OAIG;IACH,SAAS,CAAgC;IACzC;;;;OAIG;IACH,UAAU,CAAiC;IAC3C;;;;OAIG;IACH,WAAW,CAAkC;IAC7C;;;;OAIG;IACH,cAAc,CAAqC;IACnD;;;;OAIG;IACH,gBAAgB,CAAuC;IACvD;;;;OAIG;IACH,oBAAoB,CAA2C;IAC/D;;;;OAIG;IACH,YAAY,CAAmC;IAC/C;;;;OAIG;IACH,YAAY,CAAmC;IAC/C;;;;OAIG;IACH,WAAW,CAAkC;IAC7C;;;;OAIG;IACH,cAAc,CAAqC;IACnD;;;;OAIG;IACH,eAAe,CAAsC;IACrD;;;;OAIG;IACH,eAAe,CAAsC;IACrD;;;;OAIG;IACH,eAAe,CAAsC;CACrD"}
|
package/dist/events.d.ts
CHANGED
|
@@ -46,11 +46,11 @@ type PSCEventParamsMap = {
|
|
|
46
46
|
post_eval_expr: PostEvalExprParams;
|
|
47
47
|
};
|
|
48
48
|
export type PSCEventType = keyof PSCEventParamsMap;
|
|
49
|
-
export type PSCEventCallback<T extends PSCEventType = PSCEventType> = (params: PSCEventParamsMap[T]) => void;
|
|
49
|
+
export type PSCEventCallback<T extends PSCEventType = PSCEventType> = (params: PSCEventParamsMap[T]) => Promise<void> | void;
|
|
50
50
|
export declare class PSCEventBus {
|
|
51
51
|
#private;
|
|
52
52
|
on<T extends PSCEventType>(eventType: T, handler: PSCEventCallback<T>): () => void;
|
|
53
|
-
emit<T extends PSCEventType>(eventType: T, params: PSCEventParamsMap[T]): void
|
|
53
|
+
emit<T extends PSCEventType>(eventType: T, params: PSCEventParamsMap[T]): Promise<void>;
|
|
54
54
|
}
|
|
55
55
|
export {};
|
|
56
56
|
//# sourceMappingURL=events.d.ts.map
|
package/dist/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAE/C,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAEjD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC;AAErD,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC9D,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAE/C,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,KAAK,iBAAiB,GAAG;IACvB,aAAa,EAAE,iBAAiB,CAAC;IACjC,cAAc,EAAE,kBAAkB,CAAC;IACnC,mBAAmB,EAAE,iBAAiB,CAAC;IACvC,oBAAoB,EAAE,kBAAkB,CAAC;IACzC,sBAAsB,EAAE,mBAAmB,CAAC;IAC5C,uBAAuB,EAAE,oBAAoB,CAAC;IAC9C,0BAA0B,EAAE,uBAAuB,CAAC;IACpD,2BAA2B,EAAE,wBAAwB,CAAC;IACtD,mBAAmB,EAAE,uBAAuB,CAAC;IAC7C,aAAa,EAAE,iBAAiB,CAAC;IACjC,cAAc,EAAE,kBAAkB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC;AAEnD,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,IAAI,CACpE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,KACzB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAE/C,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAEjD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC;AAErD,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC9D,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAE/C,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,KAAK,iBAAiB,GAAG;IACvB,aAAa,EAAE,iBAAiB,CAAC;IACjC,cAAc,EAAE,kBAAkB,CAAC;IACnC,mBAAmB,EAAE,iBAAiB,CAAC;IACvC,oBAAoB,EAAE,kBAAkB,CAAC;IACzC,sBAAsB,EAAE,mBAAmB,CAAC;IAC5C,uBAAuB,EAAE,oBAAoB,CAAC;IAC9C,0BAA0B,EAAE,uBAAuB,CAAC;IACpD,2BAA2B,EAAE,wBAAwB,CAAC;IACtD,mBAAmB,EAAE,uBAAuB,CAAC;IAC7C,aAAa,EAAE,iBAAiB,CAAC;IACjC,cAAc,EAAE,kBAAkB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC;AAEnD,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,IAAI,CACpE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,KACzB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B,qBAAa,WAAW;;IAKtB,EAAE,CAAC,CAAC,SAAS,YAAY,EACvB,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC3B,MAAM,IAAI;IAWP,IAAI,CAAC,CAAC,SAAS,YAAY,EAC/B,SAAS,EAAE,CAAC,EACZ,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,IAAI,CAAC;CAQjB"}
|
package/dist/events.js
CHANGED
|
@@ -10,11 +10,11 @@ export class PSCEventBus {
|
|
|
10
10
|
set?.delete(handler);
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
|
-
emit(eventType, params) {
|
|
13
|
+
async emit(eventType, params) {
|
|
14
14
|
const handlers = this.#handlers[eventType];
|
|
15
15
|
if (handlers) {
|
|
16
16
|
for (const handler of handlers) {
|
|
17
|
-
handler(params);
|
|
17
|
+
await handler(params);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
}
|
package/dist/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAmEA,MAAM,OAAO,WAAW;IACtB,SAAS,GAEL,EAAE,CAAC;IAEP,EAAE,CACA,SAAY,EACZ,OAA4B;QAE5B,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,EAAoB,CAAC;QAChE,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjB,OAAO,GAAG,EAAE;YACV,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAmEA,MAAM,OAAO,WAAW;IACtB,SAAS,GAEL,EAAE,CAAC;IAEP,EAAE,CACA,SAAY,EACZ,OAA4B;QAE5B,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,EAAoB,CAAC;QAChE,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjB,OAAO,GAAG,EAAE;YACV,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,SAAY,EACZ,MAA4B;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,6 @@ export declare class PSCInterpreter {
|
|
|
4
4
|
#private;
|
|
5
5
|
constructor(options?: Partial<PSCVisitorOptions>);
|
|
6
6
|
interpret(code: string): Promise<void>;
|
|
7
|
-
on(eventType:
|
|
7
|
+
on<T extends PSCEventType>(eventType: T, handler: PSCEventCallback<T>): () => void;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAExE,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE/D,qBAAa,cAAc;;gBAGb,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAQ1C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5C,EAAE,CAAC,CAAC,SAAS,YAAY,EACvB,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC3B,MAAM,IAAI;CAGd"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CharStream, CommonTokenStream, ErrorListener
|
|
1
|
+
import { CharStream, CommonTokenStream, ErrorListener } from "antlr4";
|
|
2
2
|
import PSCLexer from "./_antlr/PSCLexer";
|
|
3
3
|
import PSCParser from "./_antlr/PSCParser";
|
|
4
4
|
import { PSCInterpretVisitor } from "./visitor";
|
|
@@ -24,7 +24,7 @@ export class PSCInterpreter {
|
|
|
24
24
|
await this.#visitor.visit(tree);
|
|
25
25
|
}
|
|
26
26
|
on(eventType, handler) {
|
|
27
|
-
this.#visitor.on(eventType, handler);
|
|
27
|
+
return this.#visitor.on(eventType, handler);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
class PSCErrorListener extends ErrorListener {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACtE,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAA0B,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzC,MAAM,OAAO,cAAc;IACzB,QAAQ,CAAsB;IAE9B,YAAY,OAAoC;QAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAmB,CAAC;YACtC,mBAAmB,EAAE,KAAK;YAC1B,eAAe,EAAE,CAAC;YAClB,GAAG,OAAO,EAAE,sDAAsD;SACnE,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,iBAAiB;QACjB,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,KAAK,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,iCAAiC;QAChE,MAAM,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,EAAE,CACA,SAAY,EACZ,OAA4B;QAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,gBAAiB,SAAQ,aAAoB;IACxC,WAAW,CAClB,UAAiB,EACjB,eAAsB,EACtB,IAAY,EACZ,MAAc,EACd,GAAW;QAEX,MAAM,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;CACF"}
|
package/dist/visitor.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AddExprContext, AndExprContext, ArrayLitsContext, AsmStmtContext, AtomContext, BlockContext, CompExprContext, DoWhileStmtContext, ExpExprContext, ExprContext, FloatLitsContext, ForStmtContext, GroupExprContext, IfStmtContext, InputStmtContext, IntLitsContext, LitsContext, LvalueContext, MulExprContext, NotExprContext, OrExprContext, OutputStmtContext, PrimaryExprContext, ProgramContext, RepeatUntilStmtContext, ReturnStmtContext, StmtContext, StmtsContext, SubprogramContext, UnaryExprContext, WhileStmtContext } from "./_antlr/PSCParser";
|
|
1
|
+
import type { AddExprContext, AndExprContext, ArrayLitsContext, AsmStmtContext, AtomContext, BlockContext, CompExprContext, DoWhileStmtContext, ExpExprContext, ExprContext, FloatLitsContext, ForStmtContext, GroupExprContext, IfStmtContext, InputStmtContext, IntLitsContext, LitsContext, LvalueContext, MulExprContext, NotExprContext, OrExprContext, OutputStmtContext, PrimaryExprContext, ProgramContext, RepeatUntilStmtContext, ReturnStmtContext, StmtContext, StmtsContext, SubprogramContext, UnaryExprContext, WhileStmtContext } from "./_antlr/PSCParser";
|
|
2
2
|
import PSCParserVisitor from "./_antlr/PSCParserVisitor";
|
|
3
3
|
import { type PSCEventCallback, type PSCEventType } from "./events";
|
|
4
4
|
export type PSCVisitorOptions = {
|
|
@@ -12,7 +12,7 @@ export type PSCTypes = string | number | boolean | PSCTypes[] | null | PSCSubpro
|
|
|
12
12
|
export declare class PSCInterpretVisitor extends PSCParserVisitor<Promise<PSCTypes | Ref | void>> {
|
|
13
13
|
#private;
|
|
14
14
|
constructor(options: PSCVisitorOptions);
|
|
15
|
-
on(eventType:
|
|
15
|
+
on<T extends PSCEventType>(eventType: T, handler: PSCEventCallback<T>): () => void;
|
|
16
16
|
visitProgram: (ctx: ProgramContext) => Promise<void>;
|
|
17
17
|
visitExpr: (ctx: ExprContext) => Promise<PSCTypes>;
|
|
18
18
|
visitOrExpr: (ctx: OrExprContext) => Promise<PSCTypes>;
|
package/dist/visitor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../src/visitor.ts"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../src/visitor.ts"],"names":[],"mappings":"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"}
|
package/dist/visitor.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import PSCParser, { AddExprContext, AndExprContext, ArrayLitsContext, AsmStmtContext, AtomContext, BlockContext, CompExprContext, DoWhileStmtContext, ExpExprContext, ExprContext, FloatLitsContext, ForStmtContext, GroupExprContext, IfStmtContext, InputStmtContext, IntLitsContext, LitsContext, LvalueContext, MulExprContext, NotExprContext, OrExprContext, OutputStmtContext, PrimaryExprContext, ProgramContext, RepeatUntilStmtContext, ReturnStmtContext, StmtContext, StmtsContext, SubprogramContext, UnaryExprContext, WhileStmtContext, } from "./_antlr/PSCParser";
|
|
1
|
+
import PSCParser from "./_antlr/PSCParser";
|
|
3
2
|
import PSCParserVisitor from "./_antlr/PSCParserVisitor";
|
|
4
3
|
import { PSCAccessNonExistingVariableError, PSCArrayAccessNotArrayError, PSCConditionNotBooleanError, PSCForRangeNotIntegerError, PSCForVariableReuseError, PSCImpossibleError, PSCInvalidArrayIndexError, PSCOperationValueTypeMismatchError, PSCUnmatchedArgumentsError, } from "./error";
|
|
5
4
|
import { PSCEventBus, } from "./events";
|
|
@@ -147,9 +146,9 @@ export class PSCInterpretVisitor extends PSCParserVisitor {
|
|
|
147
146
|
? ctx.stop.column + ctx.stop.stop - ctx.stop.start
|
|
148
147
|
: undefined,
|
|
149
148
|
};
|
|
150
|
-
this.#eventBus.emit("pre_eval_expr", eventParams);
|
|
149
|
+
await this.#eventBus.emit("pre_eval_expr", eventParams);
|
|
151
150
|
const result = await this.visitOrExpr(ctx.orExpr());
|
|
152
|
-
this.#eventBus.emit("post_eval_expr", { ...eventParams, result });
|
|
151
|
+
await this.#eventBus.emit("post_eval_expr", { ...eventParams, result });
|
|
153
152
|
return result;
|
|
154
153
|
};
|
|
155
154
|
visitOrExpr = async (ctx) => {
|
|
@@ -455,10 +454,10 @@ export class PSCInterpretVisitor extends PSCParserVisitor {
|
|
|
455
454
|
: undefined,
|
|
456
455
|
stmtType: ruleName,
|
|
457
456
|
};
|
|
458
|
-
this.#eventBus.emit("pre_exec_stmt", eventParams);
|
|
457
|
+
await this.#eventBus.emit("pre_exec_stmt", eventParams);
|
|
459
458
|
// Dispatch appropriate visit method
|
|
460
459
|
await this.visit(ctx.children[0]);
|
|
461
|
-
this.#eventBus.emit("post_exec_stmt", eventParams);
|
|
460
|
+
await this.#eventBus.emit("post_exec_stmt", eventParams);
|
|
462
461
|
};
|
|
463
462
|
visitBlock = async (ctx) => {
|
|
464
463
|
if (this.#options.strictVariableScope) {
|
|
@@ -523,13 +522,13 @@ export class PSCInterpretVisitor extends PSCParserVisitor {
|
|
|
523
522
|
? condition.stop.column + condition.stop.stop - condition.stop.start
|
|
524
523
|
: undefined,
|
|
525
524
|
};
|
|
526
|
-
this.#eventBus.emit("pre_while_condition", eventParams);
|
|
525
|
+
await this.#eventBus.emit("pre_while_condition", eventParams);
|
|
527
526
|
const result = await this.visitExpr(condition);
|
|
528
527
|
// Ensure the result is evaluated to a boolean value
|
|
529
528
|
if (typeof result !== "boolean") {
|
|
530
529
|
throw new PSCConditionNotBooleanError(ctx.expr(), `Condition must evaluate to a boolean value, got: ${result}`);
|
|
531
530
|
}
|
|
532
|
-
this.#eventBus.emit("post_while_condition", {
|
|
531
|
+
await this.#eventBus.emit("post_while_condition", {
|
|
533
532
|
...eventParams,
|
|
534
533
|
shouldContinue: result,
|
|
535
534
|
});
|
|
@@ -558,13 +557,13 @@ export class PSCInterpretVisitor extends PSCParserVisitor {
|
|
|
558
557
|
? condition.stop.column + condition.stop.stop - condition.stop.start
|
|
559
558
|
: undefined,
|
|
560
559
|
};
|
|
561
|
-
this.#eventBus.emit("pre_do_while_condition", eventParams);
|
|
560
|
+
await this.#eventBus.emit("pre_do_while_condition", eventParams);
|
|
562
561
|
result = await this.visitExpr(condition);
|
|
563
562
|
// Ensure the result is evaluated to a boolean value
|
|
564
563
|
if (typeof result !== "boolean") {
|
|
565
564
|
throw new PSCConditionNotBooleanError(ctx.expr(), `Condition must evaluate to a boolean value, got: ${result}`);
|
|
566
565
|
}
|
|
567
|
-
this.#eventBus.emit("post_do_while_condition", {
|
|
566
|
+
await this.#eventBus.emit("post_do_while_condition", {
|
|
568
567
|
...eventParams,
|
|
569
568
|
shouldContinue: result,
|
|
570
569
|
});
|
|
@@ -589,13 +588,13 @@ export class PSCInterpretVisitor extends PSCParserVisitor {
|
|
|
589
588
|
? condition.stop.column + condition.stop.stop - condition.stop.start
|
|
590
589
|
: undefined,
|
|
591
590
|
};
|
|
592
|
-
this.#eventBus.emit("pre_repeat_until_condition", eventParams);
|
|
591
|
+
await this.#eventBus.emit("pre_repeat_until_condition", eventParams);
|
|
593
592
|
result = await this.visitExpr(condition);
|
|
594
593
|
// Ensure the result is evaluated to a boolean value
|
|
595
594
|
if (typeof result !== "boolean") {
|
|
596
595
|
throw new PSCConditionNotBooleanError(ctx.expr(), `Condition must evaluate to a boolean value, got: ${result}`);
|
|
597
596
|
}
|
|
598
|
-
this.#eventBus.emit("post_repeat_until_condition", {
|
|
597
|
+
await this.#eventBus.emit("post_repeat_until_condition", {
|
|
599
598
|
...eventParams,
|
|
600
599
|
shouldContinue: !result,
|
|
601
600
|
});
|
|
@@ -628,7 +627,7 @@ export class PSCInterpretVisitor extends PSCParserVisitor {
|
|
|
628
627
|
}
|
|
629
628
|
let oldValue = undefined;
|
|
630
629
|
for (let i = fromValue; isDown ? i >= toValue : i <= toValue; isDown ? i-- : i++) {
|
|
631
|
-
this.#eventBus.emit("for_variable_change", {
|
|
630
|
+
await this.#eventBus.emit("for_variable_change", {
|
|
632
631
|
startLine: ctx.FOR().symbol.line,
|
|
633
632
|
startCol: ctx.FOR().symbol.column,
|
|
634
633
|
endLine: toExpr.stop?.line,
|
package/dist/visitor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../src/visitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../src/visitor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dseict/psc-interpreter",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "A DSE-style pseudocode interpreter written in TypeScript.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"dse",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"scripts": {
|
|
52
52
|
"clean": "rm -r -f dist && rm -r -f src/antlr",
|
|
53
53
|
"test": "vitest",
|
|
54
|
-
"antlr": "bash scripts/antlr.sh",
|
|
54
|
+
"antlr": "bash scripts/antlr.sh && eslint src/_antlr/ --fix --quiet",
|
|
55
55
|
"format": "prettier . --write",
|
|
56
56
|
"lint": "eslint .",
|
|
57
57
|
"verify": "prettier . --check && pnpm lint && pnpm test",
|