tzo 1.0.15 → 1.0.19
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/{cjs → browser}/cli.d.ts +0 -0
- package/dist/{cjs → browser}/cli.js +6 -5
- package/dist/browser/cli.js.map +1 -0
- package/dist/browser/concisetext/ConciseTextLexer.d.ts +30 -0
- package/dist/browser/concisetext/ConciseTextLexer.js +123 -0
- package/dist/browser/concisetext/ConciseTextLexer.js.map +1 -0
- package/dist/browser/concisetext/ConciseTextListener.d.ts +14 -0
- package/dist/browser/concisetext/ConciseTextListener.js +36 -0
- package/dist/browser/concisetext/ConciseTextListener.js.map +1 -0
- package/dist/browser/concisetext/ConciseTextParser.d.ts +99 -0
- package/dist/browser/concisetext/ConciseTextParser.js +439 -0
- package/dist/browser/concisetext/ConciseTextParser.js.map +1 -0
- package/dist/{cjs → browser}/getStackParams.d.ts +1 -1
- package/dist/{cjs → browser}/getStackParams.js +1 -0
- package/dist/browser/getStackParams.js.map +1 -0
- package/dist/browser/index.d.ts +5 -0
- package/dist/{cjs → browser}/index.js +6 -5
- package/dist/browser/index.js.map +1 -0
- package/dist/{cjs → browser}/interfaces.d.ts +1 -1
- package/dist/{cjs → browser}/interfaces.js +1 -0
- package/dist/browser/interfaces.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/and.d.ts +1 -1
- package/dist/browser/opcodes/and.js +9 -0
- package/dist/browser/opcodes/and.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/charCode.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/charCode.js +3 -2
- package/dist/browser/opcodes/charCode.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/closeBrace.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/closeBrace.js +2 -1
- package/dist/browser/opcodes/closeBrace.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/concat.d.ts +1 -1
- package/dist/browser/opcodes/concat.js +9 -0
- package/dist/browser/opcodes/concat.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/delContext.d.ts +1 -1
- package/dist/browser/opcodes/delContext.js +9 -0
- package/dist/browser/opcodes/delContext.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/dup.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/dup.js +3 -2
- package/dist/browser/opcodes/dup.js.map +1 -0
- package/dist/browser/opcodes/eq.d.ts +3 -0
- package/dist/browser/opcodes/eq.js +10 -0
- package/dist/browser/opcodes/eq.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/exit.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/exit.js +1 -0
- package/dist/browser/opcodes/exit.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/getContext.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/getContext.js +3 -2
- package/dist/browser/opcodes/getContext.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/goto.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/goto.js +3 -2
- package/dist/browser/opcodes/goto.js.map +1 -0
- package/dist/browser/opcodes/gt.d.ts +3 -0
- package/dist/{cjs → browser}/opcodes/gt.js +3 -2
- package/dist/browser/opcodes/gt.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/hasContext.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/hasContext.js +3 -2
- package/dist/browser/opcodes/hasContext.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/jgz.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/jgz.js +3 -2
- package/dist/browser/opcodes/jgz.js.map +1 -0
- package/dist/browser/opcodes/jz.d.ts +3 -0
- package/dist/{cjs → browser}/opcodes/jz.js +3 -2
- package/dist/browser/opcodes/jz.js.map +1 -0
- package/dist/browser/opcodes/lt.d.ts +3 -0
- package/dist/{cjs → browser}/opcodes/lt.js +3 -2
- package/dist/browser/opcodes/lt.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/min.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/min.js +3 -2
- package/dist/browser/opcodes/min.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/mul.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/mul.js +3 -2
- package/dist/browser/opcodes/mul.js.map +1 -0
- package/dist/{mjs → browser}/opcodes/nop.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/nop.js +1 -0
- package/dist/browser/opcodes/nop.js.map +1 -0
- package/dist/{mjs → browser}/opcodes/not.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/not.js +3 -2
- package/dist/browser/opcodes/not.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/openBrace.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/openBrace.js +2 -1
- package/dist/browser/opcodes/openBrace.js.map +1 -0
- package/dist/browser/opcodes/or.d.ts +3 -0
- package/dist/browser/opcodes/or.js +9 -0
- package/dist/browser/opcodes/or.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/pause.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/pause.js +1 -0
- package/dist/browser/opcodes/pause.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/plus.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/plus.js +3 -2
- package/dist/browser/opcodes/plus.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/pop.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/pop.js +1 -0
- package/dist/browser/opcodes/pop.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/ppc.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/ppc.js +1 -0
- package/dist/browser/opcodes/ppc.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/randInt.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/randInt.js +3 -2
- package/dist/browser/opcodes/randInt.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/rconcat.d.ts +1 -1
- package/dist/browser/opcodes/rconcat.js +9 -0
- package/dist/browser/opcodes/rconcat.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/setContext.d.ts +1 -1
- package/dist/browser/opcodes/setContext.js +9 -0
- package/dist/browser/opcodes/setContext.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/stacksize.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/stacksize.js +1 -0
- package/dist/browser/opcodes/stacksize.js.map +1 -0
- package/dist/{cjs → browser}/opcodes/stdout.d.ts +1 -1
- package/dist/{cjs → browser}/opcodes/stdout.js +1 -0
- package/dist/browser/opcodes/stdout.js.map +1 -0
- package/dist/{cjs → browser}/util/builder.d.ts +0 -0
- package/dist/{cjs → browser}/util/builder.js +1 -0
- package/dist/browser/util/builder.js.map +1 -0
- package/dist/{cjs → browser}/util/fix_antlr_grammar_ts.d.ts +0 -0
- package/dist/{cjs → browser}/util/fix_antlr_grammar_ts.js +1 -0
- package/dist/browser/util/fix_antlr_grammar_ts.js.map +1 -0
- package/dist/{mjs → browser}/util/tokenizer.d.ts +2 -2
- package/dist/{cjs → browser}/util/tokenizer.js +18 -16
- package/dist/browser/util/tokenizer.js.map +1 -0
- package/dist/{cjs → browser}/vm.d.ts +1 -1
- package/dist/{cjs → browser}/vm.js +64 -63
- package/dist/browser/vm.js.map +1 -0
- package/dist/{cjs → browser}/vm.test.d.ts +0 -0
- package/dist/{cjs → browser}/vm.test.js +2 -1
- package/dist/browser/vm.test.js.map +1 -0
- package/dist/{mjs → node}/cli.d.ts +0 -0
- package/dist/node/cli.js +35 -0
- package/dist/node/cli.js.map +1 -0
- package/dist/node/concisetext/ConciseTextLexer.d.ts +30 -0
- package/dist/node/concisetext/ConciseTextLexer.js +123 -0
- package/dist/node/concisetext/ConciseTextLexer.js.map +1 -0
- package/dist/node/concisetext/ConciseTextListener.d.ts +14 -0
- package/dist/node/concisetext/ConciseTextListener.js +36 -0
- package/dist/node/concisetext/ConciseTextListener.js.map +1 -0
- package/dist/node/concisetext/ConciseTextParser.d.ts +99 -0
- package/dist/node/concisetext/ConciseTextParser.js +439 -0
- package/dist/node/concisetext/ConciseTextParser.js.map +1 -0
- package/dist/{mjs → node}/getStackParams.d.ts +1 -1
- package/dist/{mjs → node}/getStackParams.js +6 -1
- package/dist/node/getStackParams.js.map +1 -0
- package/dist/node/index.d.ts +5 -0
- package/dist/node/index.js +18 -0
- package/dist/node/index.js.map +1 -0
- package/dist/{mjs → node}/interfaces.d.ts +1 -1
- package/dist/node/interfaces.js +3 -0
- package/dist/node/interfaces.js.map +1 -0
- package/dist/{mjs → node}/opcodes/and.d.ts +1 -1
- package/dist/node/opcodes/and.js +9 -0
- package/dist/node/opcodes/and.js.map +1 -0
- package/dist/{mjs → node}/opcodes/charCode.d.ts +1 -1
- package/dist/node/opcodes/charCode.js +10 -0
- package/dist/node/opcodes/charCode.js.map +1 -0
- package/dist/{mjs → node}/opcodes/closeBrace.d.ts +1 -1
- package/dist/node/opcodes/closeBrace.js +7 -0
- package/dist/node/opcodes/closeBrace.js.map +1 -0
- package/dist/{mjs → node}/opcodes/concat.d.ts +1 -1
- package/dist/node/opcodes/concat.js +9 -0
- package/dist/node/opcodes/concat.js.map +1 -0
- package/dist/{mjs → node}/opcodes/delContext.d.ts +1 -1
- package/dist/node/opcodes/delContext.js +9 -0
- package/dist/node/opcodes/delContext.js.map +1 -0
- package/dist/{mjs → node}/opcodes/dup.d.ts +1 -1
- package/dist/node/opcodes/dup.js +13 -0
- package/dist/node/opcodes/dup.js.map +1 -0
- package/dist/node/opcodes/eq.d.ts +3 -0
- package/dist/node/opcodes/eq.js +10 -0
- package/dist/node/opcodes/eq.js.map +1 -0
- package/dist/{mjs → node}/opcodes/exit.d.ts +1 -1
- package/dist/node/opcodes/exit.js +7 -0
- package/dist/node/opcodes/exit.js.map +1 -0
- package/dist/{mjs → node}/opcodes/getContext.d.ts +1 -1
- package/dist/node/opcodes/getContext.js +13 -0
- package/dist/node/opcodes/getContext.js.map +1 -0
- package/dist/{mjs → node}/opcodes/goto.d.ts +1 -1
- package/dist/{mjs → node}/opcodes/goto.js +6 -3
- package/dist/node/opcodes/goto.js.map +1 -0
- package/dist/node/opcodes/gt.d.ts +3 -0
- package/dist/node/opcodes/gt.js +10 -0
- package/dist/node/opcodes/gt.js.map +1 -0
- package/dist/{mjs → node}/opcodes/hasContext.d.ts +1 -1
- package/dist/node/opcodes/hasContext.js +14 -0
- package/dist/node/opcodes/hasContext.js.map +1 -0
- package/dist/{mjs → node}/opcodes/jgz.d.ts +1 -1
- package/dist/node/opcodes/jgz.js +11 -0
- package/dist/node/opcodes/jgz.js.map +1 -0
- package/dist/node/opcodes/jz.d.ts +3 -0
- package/dist/node/opcodes/jz.js +11 -0
- package/dist/node/opcodes/jz.js.map +1 -0
- package/dist/node/opcodes/lt.d.ts +3 -0
- package/dist/node/opcodes/lt.js +10 -0
- package/dist/node/opcodes/lt.js.map +1 -0
- package/dist/{mjs → node}/opcodes/min.d.ts +1 -1
- package/dist/node/opcodes/min.js +11 -0
- package/dist/node/opcodes/min.js.map +1 -0
- package/dist/{mjs → node}/opcodes/mul.d.ts +1 -1
- package/dist/node/opcodes/mul.js +11 -0
- package/dist/node/opcodes/mul.js.map +1 -0
- package/dist/{cjs → node}/opcodes/nop.d.ts +1 -1
- package/dist/node/opcodes/nop.js +10 -0
- package/dist/node/opcodes/nop.js.map +1 -0
- package/dist/{cjs → node}/opcodes/not.d.ts +1 -1
- package/dist/node/opcodes/not.js +17 -0
- package/dist/node/opcodes/not.js.map +1 -0
- package/dist/{mjs → node}/opcodes/openBrace.d.ts +1 -1
- package/dist/{mjs → node}/opcodes/openBrace.js +5 -2
- package/dist/node/opcodes/openBrace.js.map +1 -0
- package/dist/node/opcodes/or.d.ts +3 -0
- package/dist/node/opcodes/or.js +9 -0
- package/dist/node/opcodes/or.js.map +1 -0
- package/dist/{mjs → node}/opcodes/pause.d.ts +1 -1
- package/dist/node/opcodes/pause.js +7 -0
- package/dist/node/opcodes/pause.js.map +1 -0
- package/dist/{mjs → node}/opcodes/plus.d.ts +1 -1
- package/dist/node/opcodes/plus.js +11 -0
- package/dist/node/opcodes/plus.js.map +1 -0
- package/dist/{mjs → node}/opcodes/pop.d.ts +1 -1
- package/dist/node/opcodes/pop.js +7 -0
- package/dist/node/opcodes/pop.js.map +1 -0
- package/dist/{mjs → node}/opcodes/ppc.d.ts +1 -1
- package/dist/{mjs → node}/opcodes/ppc.js +4 -1
- package/dist/node/opcodes/ppc.js.map +1 -0
- package/dist/{mjs → node}/opcodes/randInt.d.ts +1 -1
- package/dist/node/opcodes/randInt.js +10 -0
- package/dist/node/opcodes/randInt.js.map +1 -0
- package/dist/{mjs → node}/opcodes/rconcat.d.ts +1 -1
- package/dist/node/opcodes/rconcat.js +9 -0
- package/dist/node/opcodes/rconcat.js.map +1 -0
- package/dist/{mjs → node}/opcodes/setContext.d.ts +1 -1
- package/dist/node/opcodes/setContext.js +9 -0
- package/dist/node/opcodes/setContext.js.map +1 -0
- package/dist/{mjs → node}/opcodes/stacksize.d.ts +1 -1
- package/dist/node/opcodes/stacksize.js +7 -0
- package/dist/node/opcodes/stacksize.js.map +1 -0
- package/dist/{mjs → node}/opcodes/stdout.d.ts +1 -1
- package/dist/node/opcodes/stdout.js +7 -0
- package/dist/node/opcodes/stdout.js.map +1 -0
- package/dist/{mjs → node}/util/builder.d.ts +0 -0
- package/dist/{mjs → node}/util/builder.js +6 -1
- package/dist/node/util/builder.js.map +1 -0
- package/dist/{mjs → node}/util/fix_antlr_grammar_ts.d.ts +0 -0
- package/dist/{mjs → node}/util/fix_antlr_grammar_ts.js +1 -0
- package/dist/node/util/fix_antlr_grammar_ts.js.map +1 -0
- package/dist/{cjs → node}/util/tokenizer.d.ts +2 -2
- package/dist/{mjs → node}/util/tokenizer.js +37 -28
- package/dist/node/util/tokenizer.js.map +1 -0
- package/dist/{mjs → node}/vm.d.ts +1 -1
- package/dist/{mjs → node}/vm.js +76 -70
- package/dist/node/vm.js.map +1 -0
- package/dist/{mjs → node}/vm.test.d.ts +0 -0
- package/dist/{mjs → node}/vm.test.js +18 -12
- package/dist/node/vm.test.js.map +1 -0
- package/package.json +12 -17
- package/tsconfig-browser.json +9 -0
- package/tsconfig.json +26 -5
- package/cjs_package.json +0 -3
- package/dist/cjs/concisetext/ConciseTextLexer.d.ts +0 -34
- package/dist/cjs/concisetext/ConciseTextLexer.js +0 -144
- package/dist/cjs/concisetext/ConciseTextListener.d.ts +0 -51
- package/dist/cjs/concisetext/ConciseTextListener.js +0 -4
- package/dist/cjs/concisetext/ConciseTextParser.d.ts +0 -100
- package/dist/cjs/concisetext/ConciseTextParser.js +0 -464
- package/dist/cjs/concisetext/ConciseTextVisitor.d.ts +0 -38
- package/dist/cjs/concisetext/ConciseTextVisitor.js +0 -4
- package/dist/cjs/index.d.ts +0 -5
- package/dist/cjs/opcodes/and.js +0 -8
- package/dist/cjs/opcodes/concat.js +0 -8
- package/dist/cjs/opcodes/delContext.js +0 -8
- package/dist/cjs/opcodes/eq.d.ts +0 -3
- package/dist/cjs/opcodes/eq.js +0 -9
- package/dist/cjs/opcodes/gt.d.ts +0 -3
- package/dist/cjs/opcodes/jz.d.ts +0 -3
- package/dist/cjs/opcodes/lt.d.ts +0 -3
- package/dist/cjs/opcodes/or.d.ts +0 -3
- package/dist/cjs/opcodes/or.js +0 -8
- package/dist/cjs/opcodes/rconcat.js +0 -8
- package/dist/cjs/opcodes/setContext.js +0 -8
- package/dist/cjs/package.json +0 -3
- package/dist/mjs/cli.js +0 -29
- package/dist/mjs/concisetext/ConciseTextLexer.d.ts +0 -34
- package/dist/mjs/concisetext/ConciseTextLexer.js +0 -121
- package/dist/mjs/concisetext/ConciseTextListener.d.ts +0 -51
- package/dist/mjs/concisetext/ConciseTextListener.js +0 -3
- package/dist/mjs/concisetext/ConciseTextParser.d.ts +0 -100
- package/dist/mjs/concisetext/ConciseTextParser.js +0 -437
- package/dist/mjs/concisetext/ConciseTextVisitor.d.ts +0 -38
- package/dist/mjs/concisetext/ConciseTextVisitor.js +0 -3
- package/dist/mjs/index.d.ts +0 -5
- package/dist/mjs/index.js +0 -5
- package/dist/mjs/interfaces.js +0 -1
- package/dist/mjs/opcodes/and.js +0 -6
- package/dist/mjs/opcodes/charCode.js +0 -7
- package/dist/mjs/opcodes/closeBrace.js +0 -4
- package/dist/mjs/opcodes/concat.js +0 -6
- package/dist/mjs/opcodes/delContext.js +0 -6
- package/dist/mjs/opcodes/dup.js +0 -10
- package/dist/mjs/opcodes/eq.d.ts +0 -3
- package/dist/mjs/opcodes/eq.js +0 -7
- package/dist/mjs/opcodes/exit.js +0 -4
- package/dist/mjs/opcodes/getContext.js +0 -10
- package/dist/mjs/opcodes/gt.d.ts +0 -3
- package/dist/mjs/opcodes/gt.js +0 -7
- package/dist/mjs/opcodes/hasContext.js +0 -11
- package/dist/mjs/opcodes/jgz.js +0 -8
- package/dist/mjs/opcodes/jz.d.ts +0 -3
- package/dist/mjs/opcodes/jz.js +0 -8
- package/dist/mjs/opcodes/lt.d.ts +0 -3
- package/dist/mjs/opcodes/lt.js +0 -7
- package/dist/mjs/opcodes/min.js +0 -8
- package/dist/mjs/opcodes/mul.js +0 -8
- package/dist/mjs/opcodes/nop.js +0 -7
- package/dist/mjs/opcodes/not.js +0 -14
- package/dist/mjs/opcodes/or.d.ts +0 -3
- package/dist/mjs/opcodes/or.js +0 -6
- package/dist/mjs/opcodes/pause.js +0 -4
- package/dist/mjs/opcodes/plus.js +0 -8
- package/dist/mjs/opcodes/pop.js +0 -4
- package/dist/mjs/opcodes/randInt.js +0 -7
- package/dist/mjs/opcodes/rconcat.js +0 -6
- package/dist/mjs/opcodes/setContext.js +0 -6
- package/dist/mjs/opcodes/stacksize.js +0 -4
- package/dist/mjs/opcodes/stdout.js +0 -4
- package/dist/mjs/package.json +0 -3
- package/mjs_package.json +0 -3
- package/tsconfig-base.json +0 -34
- package/tsconfig-cjs.json +0 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stacksize.js","sourceRoot":"","sources":["../../../src/opcodes/stacksize.ts"],"names":[],"mappings":";;AAEA,MAAM,SAAS,GAAgC,CAAC,KAAY,EAAE,EAAE;IAC9D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC,CAAA;AACD,kBAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdout.js","sourceRoot":"","sources":["../../../src/opcodes/stdout.ts"],"names":[],"mappings":";;AAEA,MAAM,MAAM,GAAgC,CAAC,KAAY,EAAE,EAAE;IAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AACzC,CAAC,CAAA;AACD,kBAAe,MAAM,CAAC"}
|
|
File without changes
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Builder = void 0;
|
|
4
|
+
class Builder {
|
|
2
5
|
constructor() {
|
|
3
6
|
this.fakeLabelMap = {};
|
|
4
7
|
this.programList = [];
|
|
@@ -31,3 +34,5 @@ export class Builder {
|
|
|
31
34
|
return vmstate;
|
|
32
35
|
}
|
|
33
36
|
}
|
|
37
|
+
exports.Builder = Builder;
|
|
38
|
+
//# sourceMappingURL=builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/util/builder.ts"],"names":[],"mappings":";;;AAEA,MAAa,OAAO;IAApB;QACE,iBAAY,GAER,EAAE,CAAC;QACP,gBAAW,GAAkB,EAAE,CAAC;QAChC,YAAO,GAAY,EAAE,CAAC;IAgCxB,CAAC;IA9BC,SAAS,CAAC,KAAkB,EAAE,KAAa;QACzC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,YAA2B;QAC7B,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,YAAY,CAAC,SAAiB,EAAE,KAAsB;QACpD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,KAAK,CAAA;IACjC,CAAC;IAED,KAAK;QACH,MAAM,QAAQ,GAAa,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAClF,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,EAAc,CAAC,CAAC;QACnB,MAAM,OAAO,GAAe;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;YACZ,QAAQ;YACR,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,CAAC;YACjB,KAAK,EAAE,EAAE;SACV,CAAA;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AArCD,0BAqCC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fix_antlr_grammar_ts.js","sourceRoot":"","sources":["../../../src/util/fix_antlr_grammar_ts.js"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzB,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;IAClD,IAAI,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5C,GAAG,GAAG,mBAAmB,GAAG,EAAE,CAAC;IAC/B,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Instruction } from "../interfaces
|
|
2
|
-
import { InvokeFunctionInstruction, PushNumberInstruction, PushStringInstruction } from "../index
|
|
1
|
+
import { Instruction } from "../interfaces";
|
|
2
|
+
import { InvokeFunctionInstruction, PushNumberInstruction, PushStringInstruction } from "../index";
|
|
3
3
|
export declare const pushNumber: (val: number, comment?: string) => PushNumberInstruction;
|
|
4
4
|
export declare const pushString: (val: string, comment?: string) => PushStringInstruction;
|
|
5
5
|
export declare const invokeFunction: (name: string, comment?: string) => InvokeFunctionInstruction;
|
|
@@ -1,32 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Tokenizer = exports.invokeFunction = exports.pushString = exports.pushNumber = void 0;
|
|
7
|
+
const unist_builder_1 = __importDefault(require("unist-builder"));
|
|
8
|
+
const ConciseTextLexer_1 = require("../concisetext/ConciseTextLexer");
|
|
9
|
+
const ConciseTextParser_1 = require("../concisetext/ConciseTextParser");
|
|
10
|
+
const ConciseTextListener_1 = require("../concisetext/ConciseTextListener");
|
|
11
|
+
const antlr4_1 = __importDefault(require("antlr4"));
|
|
6
12
|
const stringPushOperationRegexp = /^\"(.+)\"$/;
|
|
7
13
|
const numberPushOperationRegexp = /^(-?[0-9]+)$/;
|
|
8
14
|
const functionInvocationOperationRegexp = /^(\S+)$/;
|
|
9
15
|
const labelInstructionRegexp = /^\#(\S+)$/;
|
|
10
|
-
|
|
11
|
-
return
|
|
16
|
+
exports.pushNumber = (val, comment) => {
|
|
17
|
+
return unist_builder_1.default("push-number-instruction", { value: val, comment });
|
|
12
18
|
};
|
|
13
|
-
|
|
14
|
-
return
|
|
19
|
+
exports.pushString = (val, comment) => {
|
|
20
|
+
return unist_builder_1.default("push-string-instruction", { value: val, comment });
|
|
15
21
|
};
|
|
16
|
-
|
|
17
|
-
return
|
|
22
|
+
exports.invokeFunction = (name, comment) => {
|
|
23
|
+
return unist_builder_1.default("invoke-function-instruction", { functionName: name, comment });
|
|
18
24
|
};
|
|
19
|
-
|
|
25
|
+
class Tokenizer {
|
|
20
26
|
parse(codeBlock) {
|
|
21
27
|
function getTree(input) {
|
|
22
|
-
let inputStream = new
|
|
23
|
-
let lexer = new ConciseTextLexer(inputStream);
|
|
24
|
-
let tokenStream = new CommonTokenStream(lexer);
|
|
25
|
-
let parser = new ConciseTextParser(tokenStream);
|
|
28
|
+
let inputStream = new antlr4_1.default.InputStream(input);
|
|
29
|
+
let lexer = new ConciseTextLexer_1.ConciseTextLexer(inputStream);
|
|
30
|
+
let tokenStream = new antlr4_1.default.CommonTokenStream(lexer);
|
|
31
|
+
let parser = new ConciseTextParser_1.ConciseTextParser(tokenStream);
|
|
26
32
|
return parser.instructions();
|
|
27
33
|
}
|
|
28
|
-
class Listener {
|
|
34
|
+
class Listener extends ConciseTextListener_1.ConciseTextListener {
|
|
29
35
|
constructor() {
|
|
36
|
+
super(...arguments);
|
|
30
37
|
this.instructions = [];
|
|
31
38
|
this.lastInstruction = null;
|
|
32
39
|
}
|
|
@@ -40,17 +47,17 @@ export class Tokenizer {
|
|
|
40
47
|
};
|
|
41
48
|
}
|
|
42
49
|
enterPushNumber(context) {
|
|
43
|
-
this.lastInstruction = pushNumber(parseInt(context.
|
|
44
|
-
this.lastInstruction.label = context.
|
|
50
|
+
this.lastInstruction = exports.pushNumber(parseInt(context.number.text));
|
|
51
|
+
this.lastInstruction.label = context.label ? context.label.text : undefined;
|
|
45
52
|
}
|
|
46
53
|
enterPushString(context) {
|
|
47
|
-
const str = context.
|
|
48
|
-
this.lastInstruction = pushString(str.substr(1, str.length - 2));
|
|
49
|
-
this.lastInstruction.label = context.
|
|
54
|
+
const str = context.string.text;
|
|
55
|
+
this.lastInstruction = exports.pushString(str.substr(1, str.length - 2));
|
|
56
|
+
this.lastInstruction.label = context.label ? context.label.text : undefined;
|
|
50
57
|
}
|
|
51
58
|
enterInvokeFunction(context) {
|
|
52
|
-
this.lastInstruction = invokeFunction(context.
|
|
53
|
-
this.lastInstruction.label = context.
|
|
59
|
+
this.lastInstruction = exports.invokeFunction(context.opcode.text);
|
|
60
|
+
this.lastInstruction.label = context.label ? context.label.text : undefined;
|
|
54
61
|
}
|
|
55
62
|
exitPushNumber() {
|
|
56
63
|
this.instructions.push(this.lastInstruction);
|
|
@@ -69,7 +76,7 @@ export class Tokenizer {
|
|
|
69
76
|
}
|
|
70
77
|
}
|
|
71
78
|
const listener = new Listener();
|
|
72
|
-
ParseTreeWalker.DEFAULT.walk(listener, getTree(codeBlock));
|
|
79
|
+
antlr4_1.default.tree.ParseTreeWalker.DEFAULT.walk(listener, getTree(codeBlock));
|
|
73
80
|
return listener.getInstructions();
|
|
74
81
|
}
|
|
75
82
|
/**
|
|
@@ -146,17 +153,17 @@ export class Tokenizer {
|
|
|
146
153
|
const matchStringPushOp = token.match(stringPushOperationRegexp);
|
|
147
154
|
if (matchStringPushOp !== null) {
|
|
148
155
|
const stringToPush = matchStringPushOp[1];
|
|
149
|
-
return pushString(stringToPush);
|
|
156
|
+
return exports.pushString(stringToPush);
|
|
150
157
|
}
|
|
151
158
|
const matchNumberPushOp = token.match(numberPushOperationRegexp);
|
|
152
159
|
if (matchNumberPushOp !== null) {
|
|
153
160
|
const numberToPush = parseInt(matchNumberPushOp[1]);
|
|
154
|
-
return pushNumber(numberToPush);
|
|
161
|
+
return exports.pushNumber(numberToPush);
|
|
155
162
|
}
|
|
156
163
|
const matchFunctionInvocationOp = token.match(functionInvocationOperationRegexp);
|
|
157
164
|
if (matchFunctionInvocationOp !== null) {
|
|
158
165
|
const functionNameToPush = matchFunctionInvocationOp[1];
|
|
159
|
-
return invokeFunction(functionNameToPush);
|
|
166
|
+
return exports.invokeFunction(functionNameToPush);
|
|
160
167
|
}
|
|
161
168
|
throw new Error(`Could not parse token: \`${token}\``);
|
|
162
169
|
}).filter(instr => instr !== undefined);
|
|
@@ -166,3 +173,5 @@ export class Tokenizer {
|
|
|
166
173
|
return instructions;
|
|
167
174
|
}
|
|
168
175
|
}
|
|
176
|
+
exports.Tokenizer = Tokenizer;
|
|
177
|
+
//# sourceMappingURL=tokenizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../src/util/tokenizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Context, Functions, Instruction, InstructionOperation, Instructions, LabelMap, Stack, TzoVMState } from "./interfaces
|
|
1
|
+
import { Context, Functions, Instruction, InstructionOperation, Instructions, LabelMap, Stack, TzoVMState } from "./interfaces";
|
|
2
2
|
export declare const std_functions: Functions;
|
|
3
3
|
export declare class VM {
|
|
4
4
|
stack: Stack;
|
package/dist/{mjs → node}/vm.js
RENAMED
|
@@ -1,70 +1,76 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import closeBrace from "./opcodes/closeBrace.js";
|
|
5
|
-
import concat from "./opcodes/concat.js";
|
|
6
|
-
import delContext from "./opcodes/delContext.js";
|
|
7
|
-
import dup from "./opcodes/dup.js";
|
|
8
|
-
import eq from "./opcodes/eq.js";
|
|
9
|
-
import exit from "./opcodes/exit.js";
|
|
10
|
-
import getContext from "./opcodes/getContext.js";
|
|
11
|
-
import hasContext from "./opcodes/hasContext.js";
|
|
12
|
-
import goto from "./opcodes/goto.js";
|
|
13
|
-
import gt from "./opcodes/gt.js";
|
|
14
|
-
import jgz from "./opcodes/jgz.js";
|
|
15
|
-
import jz from "./opcodes/jz.js";
|
|
16
|
-
import lt from "./opcodes/lt.js";
|
|
17
|
-
import min from "./opcodes/min.js";
|
|
18
|
-
import mul from "./opcodes/mul.js";
|
|
19
|
-
import nop from "./opcodes/nop.js";
|
|
20
|
-
import not from "./opcodes/not.js";
|
|
21
|
-
import openBrace from "./opcodes/openBrace.js";
|
|
22
|
-
import or from "./opcodes/or.js";
|
|
23
|
-
import pause from "./opcodes/pause.js";
|
|
24
|
-
import plus from "./opcodes/plus.js";
|
|
25
|
-
import pop from "./opcodes/pop.js";
|
|
26
|
-
import ppc from "./opcodes/ppc.js";
|
|
27
|
-
import randInt from "./opcodes/randInt.js";
|
|
28
|
-
import rconcat from "./opcodes/rconcat.js";
|
|
29
|
-
import setContext from "./opcodes/setContext.js";
|
|
30
|
-
import stacksize from "./opcodes/stacksize.js";
|
|
31
|
-
import stdout from "./opcodes/stdout.js";
|
|
32
|
-
export const std_functions = {
|
|
33
|
-
"randInt": randInt,
|
|
34
|
-
"charCode": charCode,
|
|
35
|
-
"+": plus,
|
|
36
|
-
"plus": plus,
|
|
37
|
-
"-": min,
|
|
38
|
-
"min": min,
|
|
39
|
-
"*": mul,
|
|
40
|
-
"mul": mul,
|
|
41
|
-
"not": not,
|
|
42
|
-
"concat": concat,
|
|
43
|
-
"rconcat": rconcat,
|
|
44
|
-
"getContext": getContext,
|
|
45
|
-
"hasContext": hasContext,
|
|
46
|
-
"setContext": setContext,
|
|
47
|
-
"delContext": delContext,
|
|
48
|
-
"gt": gt,
|
|
49
|
-
"lt": lt,
|
|
50
|
-
"eq": eq,
|
|
51
|
-
"jgz": jgz,
|
|
52
|
-
"jz": jz,
|
|
53
|
-
"exit": exit,
|
|
54
|
-
"pause": pause,
|
|
55
|
-
"goto": goto,
|
|
56
|
-
"{": openBrace,
|
|
57
|
-
"}": closeBrace,
|
|
58
|
-
"ppc": ppc,
|
|
59
|
-
"nop": nop,
|
|
60
|
-
"and": and,
|
|
61
|
-
"or": or,
|
|
62
|
-
"dup": dup,
|
|
63
|
-
"pop": pop,
|
|
64
|
-
"stacksize": stacksize,
|
|
65
|
-
"stdout": stdout,
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
66
4
|
};
|
|
67
|
-
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.VM = exports.std_functions = void 0;
|
|
7
|
+
const debug_1 = __importDefault(require("debug"));
|
|
8
|
+
const and_1 = __importDefault(require("./opcodes/and"));
|
|
9
|
+
const charCode_1 = __importDefault(require("./opcodes/charCode"));
|
|
10
|
+
const closeBrace_1 = __importDefault(require("./opcodes/closeBrace"));
|
|
11
|
+
const concat_1 = __importDefault(require("./opcodes/concat"));
|
|
12
|
+
const delContext_1 = __importDefault(require("./opcodes/delContext"));
|
|
13
|
+
const dup_1 = __importDefault(require("./opcodes/dup"));
|
|
14
|
+
const eq_1 = __importDefault(require("./opcodes/eq"));
|
|
15
|
+
const exit_1 = __importDefault(require("./opcodes/exit"));
|
|
16
|
+
const getContext_1 = __importDefault(require("./opcodes/getContext"));
|
|
17
|
+
const hasContext_1 = __importDefault(require("./opcodes/hasContext"));
|
|
18
|
+
const goto_1 = __importDefault(require("./opcodes/goto"));
|
|
19
|
+
const gt_1 = __importDefault(require("./opcodes/gt"));
|
|
20
|
+
const jgz_1 = __importDefault(require("./opcodes/jgz"));
|
|
21
|
+
const jz_1 = __importDefault(require("./opcodes/jz"));
|
|
22
|
+
const lt_1 = __importDefault(require("./opcodes/lt"));
|
|
23
|
+
const min_1 = __importDefault(require("./opcodes/min"));
|
|
24
|
+
const mul_1 = __importDefault(require("./opcodes/mul"));
|
|
25
|
+
const nop_1 = __importDefault(require("./opcodes/nop"));
|
|
26
|
+
const not_1 = __importDefault(require("./opcodes/not"));
|
|
27
|
+
const openBrace_1 = __importDefault(require("./opcodes/openBrace"));
|
|
28
|
+
const or_1 = __importDefault(require("./opcodes/or"));
|
|
29
|
+
const pause_1 = __importDefault(require("./opcodes/pause"));
|
|
30
|
+
const plus_1 = __importDefault(require("./opcodes/plus"));
|
|
31
|
+
const pop_1 = __importDefault(require("./opcodes/pop"));
|
|
32
|
+
const ppc_1 = __importDefault(require("./opcodes/ppc"));
|
|
33
|
+
const randInt_1 = __importDefault(require("./opcodes/randInt"));
|
|
34
|
+
const rconcat_1 = __importDefault(require("./opcodes/rconcat"));
|
|
35
|
+
const setContext_1 = __importDefault(require("./opcodes/setContext"));
|
|
36
|
+
const stacksize_1 = __importDefault(require("./opcodes/stacksize"));
|
|
37
|
+
const stdout_1 = __importDefault(require("./opcodes/stdout"));
|
|
38
|
+
exports.std_functions = {
|
|
39
|
+
"randInt": randInt_1.default,
|
|
40
|
+
"charCode": charCode_1.default,
|
|
41
|
+
"+": plus_1.default,
|
|
42
|
+
"plus": plus_1.default,
|
|
43
|
+
"-": min_1.default,
|
|
44
|
+
"min": min_1.default,
|
|
45
|
+
"*": mul_1.default,
|
|
46
|
+
"mul": mul_1.default,
|
|
47
|
+
"not": not_1.default,
|
|
48
|
+
"concat": concat_1.default,
|
|
49
|
+
"rconcat": rconcat_1.default,
|
|
50
|
+
"getContext": getContext_1.default,
|
|
51
|
+
"hasContext": hasContext_1.default,
|
|
52
|
+
"setContext": setContext_1.default,
|
|
53
|
+
"delContext": delContext_1.default,
|
|
54
|
+
"gt": gt_1.default,
|
|
55
|
+
"lt": lt_1.default,
|
|
56
|
+
"eq": eq_1.default,
|
|
57
|
+
"jgz": jgz_1.default,
|
|
58
|
+
"jz": jz_1.default,
|
|
59
|
+
"exit": exit_1.default,
|
|
60
|
+
"pause": pause_1.default,
|
|
61
|
+
"goto": goto_1.default,
|
|
62
|
+
"{": openBrace_1.default,
|
|
63
|
+
"}": closeBrace_1.default,
|
|
64
|
+
"ppc": ppc_1.default,
|
|
65
|
+
"nop": nop_1.default,
|
|
66
|
+
"and": and_1.default,
|
|
67
|
+
"or": or_1.default,
|
|
68
|
+
"dup": dup_1.default,
|
|
69
|
+
"pop": pop_1.default,
|
|
70
|
+
"stacksize": stacksize_1.default,
|
|
71
|
+
"stdout": stdout_1.default,
|
|
72
|
+
};
|
|
73
|
+
class VM {
|
|
68
74
|
constructor(initialContext, additionalFunctions = {}) {
|
|
69
75
|
this.stack = [];
|
|
70
76
|
this.context = {};
|
|
@@ -73,11 +79,9 @@ export class VM {
|
|
|
73
79
|
this.programCounter = 0;
|
|
74
80
|
this.exit = false;
|
|
75
81
|
this.pause = false;
|
|
76
|
-
this.logger =
|
|
82
|
+
this.logger = debug_1.default("tzo-vm");
|
|
77
83
|
this.context = initialContext;
|
|
78
|
-
this.functions = {
|
|
79
|
-
...std_functions, ...additionalFunctions
|
|
80
|
-
};
|
|
84
|
+
this.functions = Object.assign(Object.assign({}, exports.std_functions), additionalFunctions);
|
|
81
85
|
}
|
|
82
86
|
quit() {
|
|
83
87
|
this.exit = true;
|
|
@@ -194,3 +198,5 @@ export class VM {
|
|
|
194
198
|
}
|
|
195
199
|
}
|
|
196
200
|
}
|
|
201
|
+
exports.VM = VM;
|
|
202
|
+
//# sourceMappingURL=vm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vm.js","sourceRoot":"","sources":["../../src/vm.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -1,20 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const vm_1 = require("./vm");
|
|
7
|
+
const tokenizer_1 = require("./util/tokenizer");
|
|
8
|
+
const jest_mock_process_1 = require("jest-mock-process");
|
|
9
|
+
const fs_1 = __importDefault(require("fs"));
|
|
5
10
|
const EMIT_TEST_JSONS = true; // set to true to emit test jsons in `src/tests`
|
|
6
11
|
if (EMIT_TEST_JSONS) {
|
|
7
12
|
// clean folder first!
|
|
8
|
-
const files =
|
|
13
|
+
const files = fs_1.default.readdirSync("./src/tests");
|
|
9
14
|
files.forEach(f => {
|
|
10
|
-
|
|
15
|
+
fs_1.default.unlinkSync(`./src/tests/${f}`);
|
|
11
16
|
});
|
|
12
17
|
}
|
|
13
18
|
function createVMAndRunStdRepCode(instructions, initialContext, initialLabelMap) {
|
|
14
19
|
if (initialLabelMap === undefined) {
|
|
15
20
|
initialLabelMap = {};
|
|
16
21
|
}
|
|
17
|
-
const vm = new VM(initialContext !== undefined ? initialContext : {});
|
|
22
|
+
const vm = new vm_1.VM(initialContext !== undefined ? initialContext : {});
|
|
18
23
|
vm.loadProgramList(instructions, initialLabelMap);
|
|
19
24
|
vm.run();
|
|
20
25
|
return vm;
|
|
@@ -23,8 +28,8 @@ function createVM(codeBlock, initialContext, initialLabelMap) {
|
|
|
23
28
|
if (initialLabelMap === undefined) {
|
|
24
29
|
initialLabelMap = {};
|
|
25
30
|
}
|
|
26
|
-
const vm = new VM(initialContext !== undefined ? initialContext : {});
|
|
27
|
-
const tokenizer = new Tokenizer();
|
|
31
|
+
const vm = new vm_1.VM(initialContext !== undefined ? initialContext : {});
|
|
32
|
+
const tokenizer = new tokenizer_1.Tokenizer();
|
|
28
33
|
const instructions = tokenizer.parse(codeBlock);
|
|
29
34
|
vm.loadProgramList(instructions, initialLabelMap);
|
|
30
35
|
return { vm, instructions };
|
|
@@ -43,7 +48,7 @@ function expectVM(codeBlock, initialContext, expectations, testname) {
|
|
|
43
48
|
lastTest += 1;
|
|
44
49
|
}
|
|
45
50
|
if (EMIT_TEST_JSONS) {
|
|
46
|
-
|
|
51
|
+
fs_1.default.writeFileSync(`./src/tests/${usedTestName}.json`, JSON.stringify({
|
|
47
52
|
input_program: instructions,
|
|
48
53
|
initial_context: initialContext,
|
|
49
54
|
expected: {
|
|
@@ -70,7 +75,7 @@ function expectStack(codeBlock, expectedStack, testname) {
|
|
|
70
75
|
}, testname);
|
|
71
76
|
}
|
|
72
77
|
test('should have an initial state', () => {
|
|
73
|
-
const vm = new VM({});
|
|
78
|
+
const vm = new vm_1.VM({});
|
|
74
79
|
expect(vm.programCounter).toBe(0);
|
|
75
80
|
expect(vm.context).toEqual({});
|
|
76
81
|
expect(vm.labelMap).toEqual({});
|
|
@@ -341,10 +346,11 @@ test('poor man\'s function', () => {
|
|
|
341
346
|
}, 'poor_mans_function');
|
|
342
347
|
});
|
|
343
348
|
test('stdout', () => {
|
|
344
|
-
const stdOut = mockProcessStdout();
|
|
349
|
+
const stdOut = jest_mock_process_1.mockProcessStdout();
|
|
345
350
|
expectStack(`1 stdout`, [], "stdout_0");
|
|
346
351
|
expect(stdOut).toHaveBeenCalledWith('1');
|
|
347
352
|
expectStack(`"hello" stdout`, [], "stdout_1");
|
|
348
353
|
expect(stdOut).toHaveBeenCalledWith('hello');
|
|
349
354
|
stdOut.mockRestore();
|
|
350
355
|
});
|
|
356
|
+
//# sourceMappingURL=vm.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vm.test.js","sourceRoot":"","sources":["../../src/vm.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tzo",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.19",
|
|
4
4
|
"description": "A simple Stack-based Virtual Machine",
|
|
5
|
-
"main": "dist/
|
|
6
|
-
"types": "dist/
|
|
5
|
+
"main": "dist/node/index.js",
|
|
6
|
+
"types": "dist/node/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"test": "jest",
|
|
9
9
|
"prepublishOnly": "npm run build",
|
|
10
|
-
"build": "npx cross-env rm -rf dist/ && tsc -p tsconfig.json && tsc -p tsconfig-
|
|
11
|
-
"start": "
|
|
12
|
-
"antlr4ts-concisetext": "antlr4ts -visitor src/grammars/ConciseText.g4 -o ./src/concisetext",
|
|
13
|
-
"fix_antlr_grammar_ts": "node src/util/fix_antlr_grammar_ts.js",
|
|
14
|
-
"antlr4ts": "npm run antlr4ts-concisetext && npm run fix_antlr_grammar_ts",
|
|
15
|
-
"ts-node": "ts-node"
|
|
10
|
+
"build": "npx cross-env rm -rf dist/ && tsc -p tsconfig.json && tsc -p tsconfig-browser.json",
|
|
11
|
+
"start": "ts-node ./src/cli"
|
|
16
12
|
},
|
|
17
13
|
"bin": {
|
|
18
14
|
"tzo": "./bin/tzo.mjs"
|
|
@@ -21,7 +17,7 @@
|
|
|
21
17
|
"license": "MIT",
|
|
22
18
|
"dependencies": {
|
|
23
19
|
"@types/unist": "^2.0.3",
|
|
24
|
-
"
|
|
20
|
+
"antlr4": "4.8",
|
|
25
21
|
"commander": "^6.1.0",
|
|
26
22
|
"debug": "^4.2.0",
|
|
27
23
|
"ts-node": "^9.0.0",
|
|
@@ -31,7 +27,6 @@
|
|
|
31
27
|
"devDependencies": {
|
|
32
28
|
"@types/commander": "^2.12.2",
|
|
33
29
|
"@types/jest": "^26.0.14",
|
|
34
|
-
"antlr4ts-cli": "^0.5.0-alpha.4",
|
|
35
30
|
"glob": "^7.2.0",
|
|
36
31
|
"jest": "^26.4.2",
|
|
37
32
|
"jest-mock-process": "^1.4.0",
|
|
@@ -40,16 +35,16 @@
|
|
|
40
35
|
},
|
|
41
36
|
"exports": {
|
|
42
37
|
".": {
|
|
43
|
-
"import": "./dist/
|
|
44
|
-
"require": "./dist/
|
|
38
|
+
"import": "./dist/node/index.js",
|
|
39
|
+
"require": "./dist/browser/index.js"
|
|
45
40
|
},
|
|
46
41
|
"./vm": {
|
|
47
|
-
"import": "./dist/
|
|
48
|
-
"require": "./dist/
|
|
42
|
+
"import": "./dist/node/vm.js",
|
|
43
|
+
"require": "./dist/browser/vm.js"
|
|
49
44
|
},
|
|
50
45
|
"./vgetStackParamsm": {
|
|
51
|
-
"import": "./dist/
|
|
52
|
-
"require": "./dist/
|
|
46
|
+
"import": "./dist/node/getStackParams.js",
|
|
47
|
+
"require": "./dist/browser/getStackParams.js"
|
|
53
48
|
}
|
|
54
49
|
}
|
|
55
50
|
}
|
package/tsconfig.json
CHANGED
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
{
|
|
2
|
-
"extends": "./tsconfig-base.json",
|
|
3
2
|
"compilerOptions": {
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
|
|
3
|
+
"moduleResolution": "node",
|
|
4
|
+
"target": "es6",
|
|
5
|
+
"module": "commonjs",
|
|
6
|
+
"lib": [
|
|
7
|
+
"esnext"
|
|
8
|
+
],
|
|
9
|
+
"strict": false,
|
|
10
|
+
"sourceMap": true,
|
|
11
|
+
"declaration": true,
|
|
12
|
+
"esModuleInterop": true,
|
|
13
|
+
"allowSyntheticDefaultImports": true,
|
|
14
|
+
"allowJs": true,
|
|
15
|
+
"experimentalDecorators": true,
|
|
16
|
+
"emitDecoratorMetadata": true,
|
|
17
|
+
"declarationDir": "./dist/node",
|
|
18
|
+
"outDir": "./dist/node",
|
|
19
|
+
"rootDir": "./src",
|
|
20
|
+
"typeRoots": [
|
|
21
|
+
"node_modules/@types"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"exclude": [
|
|
25
|
+
"dist",
|
|
26
|
+
"node_modules",
|
|
27
|
+
"jest.config.js"
|
|
28
|
+
]
|
|
8
29
|
}
|
package/cjs_package.json
DELETED