@dseict/psc-interpreter 0.0.2 → 1.0.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.
@@ -1,39 +1,39 @@
1
1
  import { ParseTreeVisitor } from 'antlr4';
2
- import { ProgramContext } from "./PSCParser.js";
3
- import { AddOpContext } from "./PSCParser.js";
4
- import { MulOpContext } from "./PSCParser.js";
5
- import { ExpOpContext } from "./PSCParser.js";
6
- import { CompOpContext } from "./PSCParser.js";
7
- import { ExprContext } from "./PSCParser.js";
8
- import { OrExprContext } from "./PSCParser.js";
9
- import { AndExprContext } from "./PSCParser.js";
10
- import { CompExprContext } from "./PSCParser.js";
11
- import { AddExprContext } from "./PSCParser.js";
12
- import { MulExprContext } from "./PSCParser.js";
13
- import { ExpExprContext } from "./PSCParser.js";
14
- import { UnaryExprContext } from "./PSCParser.js";
15
- import { NotExprContext } from "./PSCParser.js";
16
- import { PrimaryExprContext } from "./PSCParser.js";
17
- import { GroupExprContext } from "./PSCParser.js";
18
- import { AtomContext } from "./PSCParser.js";
19
- import { LitsContext } from "./PSCParser.js";
20
- import { IntLitsContext } from "./PSCParser.js";
21
- import { FloatLitsContext } from "./PSCParser.js";
22
- import { ArrayLitsContext } from "./PSCParser.js";
23
- import { StmtsContext } from "./PSCParser.js";
24
- import { StmtContext } from "./PSCParser.js";
25
- import { BlockContext } from "./PSCParser.js";
26
- import { IfStmtContext } from "./PSCParser.js";
27
- import { WhileStmtContext } from "./PSCParser.js";
28
- import { DoWhileStmtContext } from "./PSCParser.js";
29
- import { RepeatUntilStmtContext } from "./PSCParser.js";
30
- import { ForStmtContext } from "./PSCParser.js";
31
- import { AsmStmtContext } from "./PSCParser.js";
32
- import { LvalueContext } from "./PSCParser.js";
33
- import { InputStmtContext } from "./PSCParser.js";
34
- import { OutputStmtContext } from "./PSCParser.js";
35
- import { SubprogramContext } from "./PSCParser.js";
36
- import { ReturnStmtContext } from "./PSCParser.js";
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":"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"}
1
+ {"version":3,"file":"PSCParserVisitor.d.ts","sourceRoot":"","sources":["../../src/_antlr/PSCParserVisitor.ts"],"names":[],"mappings":"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"}
@@ -1,40 +1,5 @@
1
- // Generated from ./PSCParser.g4 by ANTLR 4.13.2
1
+ // Generated from ./PSCParser.g4 by ANTLR 4.13.0
2
2
  import { ParseTreeVisitor } from 'antlr4';
3
- import { ProgramContext } from "./PSCParser.js";
4
- import { AddOpContext } from "./PSCParser.js";
5
- import { MulOpContext } from "./PSCParser.js";
6
- import { ExpOpContext } from "./PSCParser.js";
7
- import { CompOpContext } from "./PSCParser.js";
8
- import { ExprContext } from "./PSCParser.js";
9
- import { OrExprContext } from "./PSCParser.js";
10
- import { AndExprContext } from "./PSCParser.js";
11
- import { CompExprContext } from "./PSCParser.js";
12
- import { AddExprContext } from "./PSCParser.js";
13
- import { MulExprContext } from "./PSCParser.js";
14
- import { ExpExprContext } from "./PSCParser.js";
15
- import { UnaryExprContext } from "./PSCParser.js";
16
- import { NotExprContext } from "./PSCParser.js";
17
- import { PrimaryExprContext } from "./PSCParser.js";
18
- import { GroupExprContext } from "./PSCParser.js";
19
- import { AtomContext } from "./PSCParser.js";
20
- import { LitsContext } from "./PSCParser.js";
21
- import { IntLitsContext } from "./PSCParser.js";
22
- import { FloatLitsContext } from "./PSCParser.js";
23
- import { ArrayLitsContext } from "./PSCParser.js";
24
- import { StmtsContext } from "./PSCParser.js";
25
- import { StmtContext } from "./PSCParser.js";
26
- import { BlockContext } from "./PSCParser.js";
27
- import { IfStmtContext } from "./PSCParser.js";
28
- import { WhileStmtContext } from "./PSCParser.js";
29
- import { DoWhileStmtContext } from "./PSCParser.js";
30
- import { RepeatUntilStmtContext } from "./PSCParser.js";
31
- import { ForStmtContext } from "./PSCParser.js";
32
- import { AsmStmtContext } from "./PSCParser.js";
33
- import { LvalueContext } from "./PSCParser.js";
34
- import { InputStmtContext } from "./PSCParser.js";
35
- import { OutputStmtContext } from "./PSCParser.js";
36
- import { SubprogramContext } from "./PSCParser.js";
37
- import { ReturnStmtContext } from "./PSCParser.js";
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":"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"}
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/error.d.ts CHANGED
@@ -2,31 +2,31 @@ import type { ParserRuleContext } from "antlr4";
2
2
  export declare class PSCSyntaxError extends Error {
3
3
  constructor(line: number, column: number, msg: string);
4
4
  }
5
- export declare class AccessNonExistingVariableError extends Error {
5
+ export declare class PSCAccessNonExistingVariableError extends Error {
6
6
  constructor(ctx: ParserRuleContext | undefined, variable: string);
7
7
  }
8
- export declare class OperationValueTypeMismatchError extends Error {
8
+ export declare class PSCOperationValueTypeMismatchError extends Error {
9
9
  constructor(ctx: ParserRuleContext | undefined, operator: string, expectedType: string, got: string);
10
10
  }
11
- export declare class ConditionNotBooleanError extends Error {
11
+ export declare class PSCConditionNotBooleanError extends Error {
12
12
  constructor(ctx: ParserRuleContext | undefined, got: string);
13
13
  }
14
- export declare class ForRangeNotIntegerError extends Error {
14
+ export declare class PSCForRangeNotIntegerError extends Error {
15
15
  constructor(ctx: ParserRuleContext | undefined, got: string);
16
16
  }
17
- export declare class ForVariableReuseError extends Error {
17
+ export declare class PSCForVariableReuseError extends Error {
18
18
  constructor(ctx: ParserRuleContext | undefined, name: string);
19
19
  }
20
- export declare class InvalidArrayIndexError extends Error {
20
+ export declare class PSCInvalidArrayIndexError extends Error {
21
21
  constructor(ctx: ParserRuleContext | undefined, index: string);
22
22
  }
23
- export declare class ArrayAccessNotArrayError extends Error {
23
+ export declare class PSCArrayAccessNotArrayError extends Error {
24
24
  constructor(ctx: ParserRuleContext | undefined, got: string);
25
25
  }
26
- export declare class UnmatchedArgumentsError extends Error {
26
+ export declare class PSCUnmatchedArgumentsError extends Error {
27
27
  constructor(ctx: ParserRuleContext | undefined, name: string, expectedParams: number, gotParams: number);
28
28
  }
29
- export declare class ImpossibleError extends Error {
29
+ export declare class PSCImpossibleError extends Error {
30
30
  constructor(ctx: ParserRuleContext | undefined, message: string);
31
31
  }
32
32
  //# sourceMappingURL=error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAahD,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAGtD;AAED,qBAAa,8BAA+B,SAAQ,KAAK;gBAC3C,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM;CAKjE;AAED,qBAAa,+BAAgC,SAAQ,KAAK;gBAEtD,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM;CAMd;AAED,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM;CAK5D;AAED,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM;CAK5D;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM;CAK7D;AAED,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM;CAK9D;AACD,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM;CAK5D;AAED,qBAAa,uBAAwB,SAAQ,KAAK;gBAE9C,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAClC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM;CAMpB;AAED,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM;CAKhE"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAahD,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAGtD;AAED,qBAAa,iCAAkC,SAAQ,KAAK;gBAC9C,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM;CAKjE;AAED,qBAAa,kCAAmC,SAAQ,KAAK;gBAEzD,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM;CAMd;AAED,qBAAa,2BAA4B,SAAQ,KAAK;gBACxC,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM;CAK5D;AAED,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM;CAK5D;AAED,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM;CAK7D;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM;CAK9D;AACD,qBAAa,2BAA4B,SAAQ,KAAK;gBACxC,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM;CAK5D;AAED,qBAAa,0BAA2B,SAAQ,KAAK;gBAEjD,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAClC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM;CAMpB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM;CAKhE"}
package/dist/error.js CHANGED
@@ -12,47 +12,47 @@ export class PSCSyntaxError extends Error {
12
12
  super(`Syntax error at line ${line}, column ${column}: ${msg}`);
13
13
  }
14
14
  }
15
- export class AccessNonExistingVariableError extends Error {
15
+ export class PSCAccessNonExistingVariableError extends Error {
16
16
  constructor(ctx, variable) {
17
17
  super(`Cannot access variable ${variable}, which does not exists. ${ctx && generateLineColMessage(ctx)}`);
18
18
  }
19
19
  }
20
- export class OperationValueTypeMismatchError extends Error {
20
+ export class PSCOperationValueTypeMismatchError extends Error {
21
21
  constructor(ctx, operator, expectedType, got) {
22
22
  super(`${operator} can only be applied to ${expectedType}, got ${got}. ${ctx && generateLineColMessage(ctx)}`);
23
23
  }
24
24
  }
25
- export class ConditionNotBooleanError extends Error {
25
+ export class PSCConditionNotBooleanError extends Error {
26
26
  constructor(ctx, got) {
27
27
  super(`A condition must be evaluated to a boolean, got ${got}. ${ctx && generateLineColMessage(ctx)}`);
28
28
  }
29
29
  }
30
- export class ForRangeNotIntegerError extends Error {
30
+ export class PSCForRangeNotIntegerError extends Error {
31
31
  constructor(ctx, got) {
32
32
  super(`For loop range must evaluate to an integer, got ${got}. ${ctx && generateLineColMessage(ctx)}`);
33
33
  }
34
34
  }
35
- export class ForVariableReuseError extends Error {
35
+ export class PSCForVariableReuseError extends Error {
36
36
  constructor(ctx, name) {
37
37
  super(`Cannot reuse loop variable '${name}' in a for loop. ${ctx && generateLineColMessage(ctx)}`);
38
38
  }
39
39
  }
40
- export class InvalidArrayIndexError extends Error {
40
+ export class PSCInvalidArrayIndexError extends Error {
41
41
  constructor(ctx, index) {
42
42
  super(`Array index ${index} is invalid. ${ctx && generateLineColMessage(ctx)}`);
43
43
  }
44
44
  }
45
- export class ArrayAccessNotArrayError extends Error {
45
+ export class PSCArrayAccessNotArrayError extends Error {
46
46
  constructor(ctx, got) {
47
47
  super(`Cannot access an array index on a non-array value, got ${got}. ${ctx && generateLineColMessage(ctx)}`);
48
48
  }
49
49
  }
50
- export class UnmatchedArgumentsError extends Error {
50
+ export class PSCUnmatchedArgumentsError extends Error {
51
51
  constructor(ctx, name, expectedParams, gotParams) {
52
52
  super(`Subprogram ${name} expects ${expectedParams} arguments, but got ${gotParams}. ${ctx && generateLineColMessage(ctx)}`);
53
53
  }
54
54
  }
55
- export class ImpossibleError extends Error {
55
+ export class PSCImpossibleError extends Error {
56
56
  constructor(ctx, message) {
57
57
  super(`The following error should not be possible. Please report this bug:\n${message}. ${ctx && generateLineColMessage(ctx)}`);
58
58
  }
package/dist/error.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAEA,SAAS,sBAAsB,CAAC,GAAsB;IACpD,IACE,GAAG,CAAC,IAAI;QACR,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EACzE,CAAC;QACD,OAAO,YAAY,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;IAC7G,CAAC;SAAM,CAAC;QACN,OAAO,UAAU,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,IAAY,EAAE,MAAc,EAAE,GAAW;QACnD,KAAK,CAAC,wBAAwB,IAAI,YAAY,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;IAClE,CAAC;CACF;AAED,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACvD,YAAY,GAAkC,EAAE,QAAgB;QAC9D,KAAK,CACH,0BAA0B,QAAQ,4BAA4B,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CACnG,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IACxD,YACE,GAAkC,EAClC,QAAgB,EAChB,YAAoB,EACpB,GAAW;QAEX,KAAK,CACH,GAAG,QAAQ,2BAA2B,YAAY,SAAS,GAAG,KAAK,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CACxG,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,YAAY,GAAkC,EAAE,GAAW;QACzD,KAAK,CACH,mDAAmD,GAAG,KAAK,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAChG,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,GAAkC,EAAE,GAAW;QACzD,KAAK,CACH,mDAAmD,GAAG,KAAK,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAChG,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,GAAkC,EAAE,IAAY;QAC1D,KAAK,CACH,+BAA+B,IAAI,oBAAoB,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAC5F,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,GAAkC,EAAE,KAAa;QAC3D,KAAK,CACH,eAAe,KAAK,gBAAgB,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CACzE,CAAC;IACJ,CAAC;CACF;AACD,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,YAAY,GAAkC,EAAE,GAAW;QACzD,KAAK,CACH,0DAA0D,GAAG,KAAK,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CACvG,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YACE,GAAkC,EAClC,IAAY,EACZ,cAAsB,EACtB,SAAiB;QAEjB,KAAK,CACH,cAAc,IAAI,YAAY,cAAc,uBAAuB,SAAS,KAAK,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CACtH,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,GAAkC,EAAE,OAAe;QAC7D,KAAK,CACH,wEAAwE,OAAO,KAAK,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CACzH,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import type { PSCTypes } from "./visitor";
2
+ export interface PSCEventParams {
3
+ startLine: number;
4
+ startCol: number;
5
+ endLine?: number;
6
+ endCol?: number;
7
+ }
8
+ export interface PreExecStmtParams extends PSCEventParams {
9
+ stmtType: string;
10
+ }
11
+ export interface PostExecStmtParams extends PSCEventParams {
12
+ stmtType: string;
13
+ }
14
+ export type PreWhileCondition = PSCEventParams;
15
+ export interface PostWhileCondition extends PSCEventParams {
16
+ shouldContinue: boolean;
17
+ }
18
+ export type PreDoWhileCondition = PSCEventParams;
19
+ export interface PostDoWhileCondition extends PSCEventParams {
20
+ shouldContinue: boolean;
21
+ }
22
+ export type PreRepeatUntilCondition = PSCEventParams;
23
+ export interface PostRepeatUntilCondition extends PSCEventParams {
24
+ shouldContinue: boolean;
25
+ }
26
+ export interface ForVariableChangeParams extends PSCEventParams {
27
+ variableName: string;
28
+ oldValue?: number;
29
+ newValue: number;
30
+ }
31
+ export type PreEvalExprParams = PSCEventParams;
32
+ export interface PostEvalExprParams extends PSCEventParams {
33
+ result: PSCTypes;
34
+ }
35
+ type PSCEventParamsMap = {
36
+ pre_exec_stmt: PreExecStmtParams;
37
+ post_exec_stmt: PostExecStmtParams;
38
+ pre_while_condition: PreWhileCondition;
39
+ post_while_condition: PostWhileCondition;
40
+ pre_do_while_condition: PreDoWhileCondition;
41
+ post_do_while_condition: PostDoWhileCondition;
42
+ pre_repeat_until_condition: PreRepeatUntilCondition;
43
+ post_repeat_until_condition: PostRepeatUntilCondition;
44
+ for_variable_change: ForVariableChangeParams;
45
+ pre_eval_expr: PreEvalExprParams;
46
+ post_eval_expr: PostEvalExprParams;
47
+ };
48
+ export type PSCEventType = keyof PSCEventParamsMap;
49
+ export type PSCEventCallback<T extends PSCEventType = PSCEventType> = (params: PSCEventParamsMap[T]) => void;
50
+ export declare class PSCEventBus {
51
+ #private;
52
+ on<T extends PSCEventType>(eventType: T, handler: PSCEventCallback<T>): () => void;
53
+ emit<T extends PSCEventType>(eventType: T, params: PSCEventParamsMap[T]): void;
54
+ }
55
+ export {};
56
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +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;AAEV,qBAAa,WAAW;;IAKtB,EAAE,CAAC,CAAC,SAAS,YAAY,EACvB,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC3B,MAAM,IAAI;IAWb,IAAI,CAAC,CAAC,SAAS,YAAY,EACzB,SAAS,EAAE,CAAC,EACZ,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC3B,IAAI;CAQR"}
package/dist/events.js ADDED
@@ -0,0 +1,22 @@
1
+ export class PSCEventBus {
2
+ #handlers = {};
3
+ on(eventType, handler) {
4
+ let set = this.#handlers[eventType];
5
+ if (set === undefined) {
6
+ set = this.#handlers[eventType] = new Set();
7
+ }
8
+ set.add(handler);
9
+ return () => {
10
+ set?.delete(handler);
11
+ };
12
+ }
13
+ emit(eventType, params) {
14
+ const handlers = this.#handlers[eventType];
15
+ if (handlers) {
16
+ for (const handler of handlers) {
17
+ handler(params);
18
+ }
19
+ }
20
+ }
21
+ }
22
+ //# sourceMappingURL=events.js.map
@@ -0,0 +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,CACF,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,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
- export type InterpreterOptions = {
2
- strictVariableScope: boolean;
3
- arrayStartIndex: number;
4
- outputFunction?: (output: string) => void;
5
- inputFunction?: () => Promise<string>;
6
- };
7
- export declare function interpret(code: string, options?: Partial<InterpreterOptions>): Promise<void>;
1
+ import { type PSCVisitorOptions } from "./visitor";
2
+ import type { PSCEventCallback, PSCEventType } from "./events";
3
+ export declare class PSCInterpreter {
4
+ #private;
5
+ constructor(options?: Partial<PSCVisitorOptions>);
6
+ interpret(code: string): Promise<void>;
7
+ on(eventType: PSCEventType, handler: PSCEventCallback): void;
8
+ }
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAuDA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAgBf"}
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,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAG7D"}