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.
Files changed (326) hide show
  1. package/dist/{cjs → browser}/cli.d.ts +0 -0
  2. package/dist/{cjs → browser}/cli.js +6 -5
  3. package/dist/browser/cli.js.map +1 -0
  4. package/dist/browser/concisetext/ConciseTextLexer.d.ts +30 -0
  5. package/dist/browser/concisetext/ConciseTextLexer.js +123 -0
  6. package/dist/browser/concisetext/ConciseTextLexer.js.map +1 -0
  7. package/dist/browser/concisetext/ConciseTextListener.d.ts +14 -0
  8. package/dist/browser/concisetext/ConciseTextListener.js +36 -0
  9. package/dist/browser/concisetext/ConciseTextListener.js.map +1 -0
  10. package/dist/browser/concisetext/ConciseTextParser.d.ts +99 -0
  11. package/dist/browser/concisetext/ConciseTextParser.js +439 -0
  12. package/dist/browser/concisetext/ConciseTextParser.js.map +1 -0
  13. package/dist/{cjs → browser}/getStackParams.d.ts +1 -1
  14. package/dist/{cjs → browser}/getStackParams.js +1 -0
  15. package/dist/browser/getStackParams.js.map +1 -0
  16. package/dist/browser/index.d.ts +5 -0
  17. package/dist/{cjs → browser}/index.js +6 -5
  18. package/dist/browser/index.js.map +1 -0
  19. package/dist/{cjs → browser}/interfaces.d.ts +1 -1
  20. package/dist/{cjs → browser}/interfaces.js +1 -0
  21. package/dist/browser/interfaces.js.map +1 -0
  22. package/dist/{cjs → browser}/opcodes/and.d.ts +1 -1
  23. package/dist/browser/opcodes/and.js +9 -0
  24. package/dist/browser/opcodes/and.js.map +1 -0
  25. package/dist/{cjs → browser}/opcodes/charCode.d.ts +1 -1
  26. package/dist/{cjs → browser}/opcodes/charCode.js +3 -2
  27. package/dist/browser/opcodes/charCode.js.map +1 -0
  28. package/dist/{cjs → browser}/opcodes/closeBrace.d.ts +1 -1
  29. package/dist/{cjs → browser}/opcodes/closeBrace.js +2 -1
  30. package/dist/browser/opcodes/closeBrace.js.map +1 -0
  31. package/dist/{cjs → browser}/opcodes/concat.d.ts +1 -1
  32. package/dist/browser/opcodes/concat.js +9 -0
  33. package/dist/browser/opcodes/concat.js.map +1 -0
  34. package/dist/{cjs → browser}/opcodes/delContext.d.ts +1 -1
  35. package/dist/browser/opcodes/delContext.js +9 -0
  36. package/dist/browser/opcodes/delContext.js.map +1 -0
  37. package/dist/{cjs → browser}/opcodes/dup.d.ts +1 -1
  38. package/dist/{cjs → browser}/opcodes/dup.js +3 -2
  39. package/dist/browser/opcodes/dup.js.map +1 -0
  40. package/dist/browser/opcodes/eq.d.ts +3 -0
  41. package/dist/browser/opcodes/eq.js +10 -0
  42. package/dist/browser/opcodes/eq.js.map +1 -0
  43. package/dist/{cjs → browser}/opcodes/exit.d.ts +1 -1
  44. package/dist/{cjs → browser}/opcodes/exit.js +1 -0
  45. package/dist/browser/opcodes/exit.js.map +1 -0
  46. package/dist/{cjs → browser}/opcodes/getContext.d.ts +1 -1
  47. package/dist/{cjs → browser}/opcodes/getContext.js +3 -2
  48. package/dist/browser/opcodes/getContext.js.map +1 -0
  49. package/dist/{cjs → browser}/opcodes/goto.d.ts +1 -1
  50. package/dist/{cjs → browser}/opcodes/goto.js +3 -2
  51. package/dist/browser/opcodes/goto.js.map +1 -0
  52. package/dist/browser/opcodes/gt.d.ts +3 -0
  53. package/dist/{cjs → browser}/opcodes/gt.js +3 -2
  54. package/dist/browser/opcodes/gt.js.map +1 -0
  55. package/dist/{cjs → browser}/opcodes/hasContext.d.ts +1 -1
  56. package/dist/{cjs → browser}/opcodes/hasContext.js +3 -2
  57. package/dist/browser/opcodes/hasContext.js.map +1 -0
  58. package/dist/{cjs → browser}/opcodes/jgz.d.ts +1 -1
  59. package/dist/{cjs → browser}/opcodes/jgz.js +3 -2
  60. package/dist/browser/opcodes/jgz.js.map +1 -0
  61. package/dist/browser/opcodes/jz.d.ts +3 -0
  62. package/dist/{cjs → browser}/opcodes/jz.js +3 -2
  63. package/dist/browser/opcodes/jz.js.map +1 -0
  64. package/dist/browser/opcodes/lt.d.ts +3 -0
  65. package/dist/{cjs → browser}/opcodes/lt.js +3 -2
  66. package/dist/browser/opcodes/lt.js.map +1 -0
  67. package/dist/{cjs → browser}/opcodes/min.d.ts +1 -1
  68. package/dist/{cjs → browser}/opcodes/min.js +3 -2
  69. package/dist/browser/opcodes/min.js.map +1 -0
  70. package/dist/{cjs → browser}/opcodes/mul.d.ts +1 -1
  71. package/dist/{cjs → browser}/opcodes/mul.js +3 -2
  72. package/dist/browser/opcodes/mul.js.map +1 -0
  73. package/dist/{mjs → browser}/opcodes/nop.d.ts +1 -1
  74. package/dist/{cjs → browser}/opcodes/nop.js +1 -0
  75. package/dist/browser/opcodes/nop.js.map +1 -0
  76. package/dist/{mjs → browser}/opcodes/not.d.ts +1 -1
  77. package/dist/{cjs → browser}/opcodes/not.js +3 -2
  78. package/dist/browser/opcodes/not.js.map +1 -0
  79. package/dist/{cjs → browser}/opcodes/openBrace.d.ts +1 -1
  80. package/dist/{cjs → browser}/opcodes/openBrace.js +2 -1
  81. package/dist/browser/opcodes/openBrace.js.map +1 -0
  82. package/dist/browser/opcodes/or.d.ts +3 -0
  83. package/dist/browser/opcodes/or.js +9 -0
  84. package/dist/browser/opcodes/or.js.map +1 -0
  85. package/dist/{cjs → browser}/opcodes/pause.d.ts +1 -1
  86. package/dist/{cjs → browser}/opcodes/pause.js +1 -0
  87. package/dist/browser/opcodes/pause.js.map +1 -0
  88. package/dist/{cjs → browser}/opcodes/plus.d.ts +1 -1
  89. package/dist/{cjs → browser}/opcodes/plus.js +3 -2
  90. package/dist/browser/opcodes/plus.js.map +1 -0
  91. package/dist/{cjs → browser}/opcodes/pop.d.ts +1 -1
  92. package/dist/{cjs → browser}/opcodes/pop.js +1 -0
  93. package/dist/browser/opcodes/pop.js.map +1 -0
  94. package/dist/{cjs → browser}/opcodes/ppc.d.ts +1 -1
  95. package/dist/{cjs → browser}/opcodes/ppc.js +1 -0
  96. package/dist/browser/opcodes/ppc.js.map +1 -0
  97. package/dist/{cjs → browser}/opcodes/randInt.d.ts +1 -1
  98. package/dist/{cjs → browser}/opcodes/randInt.js +3 -2
  99. package/dist/browser/opcodes/randInt.js.map +1 -0
  100. package/dist/{cjs → browser}/opcodes/rconcat.d.ts +1 -1
  101. package/dist/browser/opcodes/rconcat.js +9 -0
  102. package/dist/browser/opcodes/rconcat.js.map +1 -0
  103. package/dist/{cjs → browser}/opcodes/setContext.d.ts +1 -1
  104. package/dist/browser/opcodes/setContext.js +9 -0
  105. package/dist/browser/opcodes/setContext.js.map +1 -0
  106. package/dist/{cjs → browser}/opcodes/stacksize.d.ts +1 -1
  107. package/dist/{cjs → browser}/opcodes/stacksize.js +1 -0
  108. package/dist/browser/opcodes/stacksize.js.map +1 -0
  109. package/dist/{cjs → browser}/opcodes/stdout.d.ts +1 -1
  110. package/dist/{cjs → browser}/opcodes/stdout.js +1 -0
  111. package/dist/browser/opcodes/stdout.js.map +1 -0
  112. package/dist/{cjs → browser}/util/builder.d.ts +0 -0
  113. package/dist/{cjs → browser}/util/builder.js +1 -0
  114. package/dist/browser/util/builder.js.map +1 -0
  115. package/dist/{cjs → browser}/util/fix_antlr_grammar_ts.d.ts +0 -0
  116. package/dist/{cjs → browser}/util/fix_antlr_grammar_ts.js +1 -0
  117. package/dist/browser/util/fix_antlr_grammar_ts.js.map +1 -0
  118. package/dist/{mjs → browser}/util/tokenizer.d.ts +2 -2
  119. package/dist/{cjs → browser}/util/tokenizer.js +18 -16
  120. package/dist/browser/util/tokenizer.js.map +1 -0
  121. package/dist/{cjs → browser}/vm.d.ts +1 -1
  122. package/dist/{cjs → browser}/vm.js +64 -63
  123. package/dist/browser/vm.js.map +1 -0
  124. package/dist/{cjs → browser}/vm.test.d.ts +0 -0
  125. package/dist/{cjs → browser}/vm.test.js +2 -1
  126. package/dist/browser/vm.test.js.map +1 -0
  127. package/dist/{mjs → node}/cli.d.ts +0 -0
  128. package/dist/node/cli.js +35 -0
  129. package/dist/node/cli.js.map +1 -0
  130. package/dist/node/concisetext/ConciseTextLexer.d.ts +30 -0
  131. package/dist/node/concisetext/ConciseTextLexer.js +123 -0
  132. package/dist/node/concisetext/ConciseTextLexer.js.map +1 -0
  133. package/dist/node/concisetext/ConciseTextListener.d.ts +14 -0
  134. package/dist/node/concisetext/ConciseTextListener.js +36 -0
  135. package/dist/node/concisetext/ConciseTextListener.js.map +1 -0
  136. package/dist/node/concisetext/ConciseTextParser.d.ts +99 -0
  137. package/dist/node/concisetext/ConciseTextParser.js +439 -0
  138. package/dist/node/concisetext/ConciseTextParser.js.map +1 -0
  139. package/dist/{mjs → node}/getStackParams.d.ts +1 -1
  140. package/dist/{mjs → node}/getStackParams.js +6 -1
  141. package/dist/node/getStackParams.js.map +1 -0
  142. package/dist/node/index.d.ts +5 -0
  143. package/dist/node/index.js +18 -0
  144. package/dist/node/index.js.map +1 -0
  145. package/dist/{mjs → node}/interfaces.d.ts +1 -1
  146. package/dist/node/interfaces.js +3 -0
  147. package/dist/node/interfaces.js.map +1 -0
  148. package/dist/{mjs → node}/opcodes/and.d.ts +1 -1
  149. package/dist/node/opcodes/and.js +9 -0
  150. package/dist/node/opcodes/and.js.map +1 -0
  151. package/dist/{mjs → node}/opcodes/charCode.d.ts +1 -1
  152. package/dist/node/opcodes/charCode.js +10 -0
  153. package/dist/node/opcodes/charCode.js.map +1 -0
  154. package/dist/{mjs → node}/opcodes/closeBrace.d.ts +1 -1
  155. package/dist/node/opcodes/closeBrace.js +7 -0
  156. package/dist/node/opcodes/closeBrace.js.map +1 -0
  157. package/dist/{mjs → node}/opcodes/concat.d.ts +1 -1
  158. package/dist/node/opcodes/concat.js +9 -0
  159. package/dist/node/opcodes/concat.js.map +1 -0
  160. package/dist/{mjs → node}/opcodes/delContext.d.ts +1 -1
  161. package/dist/node/opcodes/delContext.js +9 -0
  162. package/dist/node/opcodes/delContext.js.map +1 -0
  163. package/dist/{mjs → node}/opcodes/dup.d.ts +1 -1
  164. package/dist/node/opcodes/dup.js +13 -0
  165. package/dist/node/opcodes/dup.js.map +1 -0
  166. package/dist/node/opcodes/eq.d.ts +3 -0
  167. package/dist/node/opcodes/eq.js +10 -0
  168. package/dist/node/opcodes/eq.js.map +1 -0
  169. package/dist/{mjs → node}/opcodes/exit.d.ts +1 -1
  170. package/dist/node/opcodes/exit.js +7 -0
  171. package/dist/node/opcodes/exit.js.map +1 -0
  172. package/dist/{mjs → node}/opcodes/getContext.d.ts +1 -1
  173. package/dist/node/opcodes/getContext.js +13 -0
  174. package/dist/node/opcodes/getContext.js.map +1 -0
  175. package/dist/{mjs → node}/opcodes/goto.d.ts +1 -1
  176. package/dist/{mjs → node}/opcodes/goto.js +6 -3
  177. package/dist/node/opcodes/goto.js.map +1 -0
  178. package/dist/node/opcodes/gt.d.ts +3 -0
  179. package/dist/node/opcodes/gt.js +10 -0
  180. package/dist/node/opcodes/gt.js.map +1 -0
  181. package/dist/{mjs → node}/opcodes/hasContext.d.ts +1 -1
  182. package/dist/node/opcodes/hasContext.js +14 -0
  183. package/dist/node/opcodes/hasContext.js.map +1 -0
  184. package/dist/{mjs → node}/opcodes/jgz.d.ts +1 -1
  185. package/dist/node/opcodes/jgz.js +11 -0
  186. package/dist/node/opcodes/jgz.js.map +1 -0
  187. package/dist/node/opcodes/jz.d.ts +3 -0
  188. package/dist/node/opcodes/jz.js +11 -0
  189. package/dist/node/opcodes/jz.js.map +1 -0
  190. package/dist/node/opcodes/lt.d.ts +3 -0
  191. package/dist/node/opcodes/lt.js +10 -0
  192. package/dist/node/opcodes/lt.js.map +1 -0
  193. package/dist/{mjs → node}/opcodes/min.d.ts +1 -1
  194. package/dist/node/opcodes/min.js +11 -0
  195. package/dist/node/opcodes/min.js.map +1 -0
  196. package/dist/{mjs → node}/opcodes/mul.d.ts +1 -1
  197. package/dist/node/opcodes/mul.js +11 -0
  198. package/dist/node/opcodes/mul.js.map +1 -0
  199. package/dist/{cjs → node}/opcodes/nop.d.ts +1 -1
  200. package/dist/node/opcodes/nop.js +10 -0
  201. package/dist/node/opcodes/nop.js.map +1 -0
  202. package/dist/{cjs → node}/opcodes/not.d.ts +1 -1
  203. package/dist/node/opcodes/not.js +17 -0
  204. package/dist/node/opcodes/not.js.map +1 -0
  205. package/dist/{mjs → node}/opcodes/openBrace.d.ts +1 -1
  206. package/dist/{mjs → node}/opcodes/openBrace.js +5 -2
  207. package/dist/node/opcodes/openBrace.js.map +1 -0
  208. package/dist/node/opcodes/or.d.ts +3 -0
  209. package/dist/node/opcodes/or.js +9 -0
  210. package/dist/node/opcodes/or.js.map +1 -0
  211. package/dist/{mjs → node}/opcodes/pause.d.ts +1 -1
  212. package/dist/node/opcodes/pause.js +7 -0
  213. package/dist/node/opcodes/pause.js.map +1 -0
  214. package/dist/{mjs → node}/opcodes/plus.d.ts +1 -1
  215. package/dist/node/opcodes/plus.js +11 -0
  216. package/dist/node/opcodes/plus.js.map +1 -0
  217. package/dist/{mjs → node}/opcodes/pop.d.ts +1 -1
  218. package/dist/node/opcodes/pop.js +7 -0
  219. package/dist/node/opcodes/pop.js.map +1 -0
  220. package/dist/{mjs → node}/opcodes/ppc.d.ts +1 -1
  221. package/dist/{mjs → node}/opcodes/ppc.js +4 -1
  222. package/dist/node/opcodes/ppc.js.map +1 -0
  223. package/dist/{mjs → node}/opcodes/randInt.d.ts +1 -1
  224. package/dist/node/opcodes/randInt.js +10 -0
  225. package/dist/node/opcodes/randInt.js.map +1 -0
  226. package/dist/{mjs → node}/opcodes/rconcat.d.ts +1 -1
  227. package/dist/node/opcodes/rconcat.js +9 -0
  228. package/dist/node/opcodes/rconcat.js.map +1 -0
  229. package/dist/{mjs → node}/opcodes/setContext.d.ts +1 -1
  230. package/dist/node/opcodes/setContext.js +9 -0
  231. package/dist/node/opcodes/setContext.js.map +1 -0
  232. package/dist/{mjs → node}/opcodes/stacksize.d.ts +1 -1
  233. package/dist/node/opcodes/stacksize.js +7 -0
  234. package/dist/node/opcodes/stacksize.js.map +1 -0
  235. package/dist/{mjs → node}/opcodes/stdout.d.ts +1 -1
  236. package/dist/node/opcodes/stdout.js +7 -0
  237. package/dist/node/opcodes/stdout.js.map +1 -0
  238. package/dist/{mjs → node}/util/builder.d.ts +0 -0
  239. package/dist/{mjs → node}/util/builder.js +6 -1
  240. package/dist/node/util/builder.js.map +1 -0
  241. package/dist/{mjs → node}/util/fix_antlr_grammar_ts.d.ts +0 -0
  242. package/dist/{mjs → node}/util/fix_antlr_grammar_ts.js +1 -0
  243. package/dist/node/util/fix_antlr_grammar_ts.js.map +1 -0
  244. package/dist/{cjs → node}/util/tokenizer.d.ts +2 -2
  245. package/dist/{mjs → node}/util/tokenizer.js +37 -28
  246. package/dist/node/util/tokenizer.js.map +1 -0
  247. package/dist/{mjs → node}/vm.d.ts +1 -1
  248. package/dist/{mjs → node}/vm.js +76 -70
  249. package/dist/node/vm.js.map +1 -0
  250. package/dist/{mjs → node}/vm.test.d.ts +0 -0
  251. package/dist/{mjs → node}/vm.test.js +18 -12
  252. package/dist/node/vm.test.js.map +1 -0
  253. package/package.json +12 -17
  254. package/tsconfig-browser.json +9 -0
  255. package/tsconfig.json +26 -5
  256. package/cjs_package.json +0 -3
  257. package/dist/cjs/concisetext/ConciseTextLexer.d.ts +0 -34
  258. package/dist/cjs/concisetext/ConciseTextLexer.js +0 -144
  259. package/dist/cjs/concisetext/ConciseTextListener.d.ts +0 -51
  260. package/dist/cjs/concisetext/ConciseTextListener.js +0 -4
  261. package/dist/cjs/concisetext/ConciseTextParser.d.ts +0 -100
  262. package/dist/cjs/concisetext/ConciseTextParser.js +0 -464
  263. package/dist/cjs/concisetext/ConciseTextVisitor.d.ts +0 -38
  264. package/dist/cjs/concisetext/ConciseTextVisitor.js +0 -4
  265. package/dist/cjs/index.d.ts +0 -5
  266. package/dist/cjs/opcodes/and.js +0 -8
  267. package/dist/cjs/opcodes/concat.js +0 -8
  268. package/dist/cjs/opcodes/delContext.js +0 -8
  269. package/dist/cjs/opcodes/eq.d.ts +0 -3
  270. package/dist/cjs/opcodes/eq.js +0 -9
  271. package/dist/cjs/opcodes/gt.d.ts +0 -3
  272. package/dist/cjs/opcodes/jz.d.ts +0 -3
  273. package/dist/cjs/opcodes/lt.d.ts +0 -3
  274. package/dist/cjs/opcodes/or.d.ts +0 -3
  275. package/dist/cjs/opcodes/or.js +0 -8
  276. package/dist/cjs/opcodes/rconcat.js +0 -8
  277. package/dist/cjs/opcodes/setContext.js +0 -8
  278. package/dist/cjs/package.json +0 -3
  279. package/dist/mjs/cli.js +0 -29
  280. package/dist/mjs/concisetext/ConciseTextLexer.d.ts +0 -34
  281. package/dist/mjs/concisetext/ConciseTextLexer.js +0 -121
  282. package/dist/mjs/concisetext/ConciseTextListener.d.ts +0 -51
  283. package/dist/mjs/concisetext/ConciseTextListener.js +0 -3
  284. package/dist/mjs/concisetext/ConciseTextParser.d.ts +0 -100
  285. package/dist/mjs/concisetext/ConciseTextParser.js +0 -437
  286. package/dist/mjs/concisetext/ConciseTextVisitor.d.ts +0 -38
  287. package/dist/mjs/concisetext/ConciseTextVisitor.js +0 -3
  288. package/dist/mjs/index.d.ts +0 -5
  289. package/dist/mjs/index.js +0 -5
  290. package/dist/mjs/interfaces.js +0 -1
  291. package/dist/mjs/opcodes/and.js +0 -6
  292. package/dist/mjs/opcodes/charCode.js +0 -7
  293. package/dist/mjs/opcodes/closeBrace.js +0 -4
  294. package/dist/mjs/opcodes/concat.js +0 -6
  295. package/dist/mjs/opcodes/delContext.js +0 -6
  296. package/dist/mjs/opcodes/dup.js +0 -10
  297. package/dist/mjs/opcodes/eq.d.ts +0 -3
  298. package/dist/mjs/opcodes/eq.js +0 -7
  299. package/dist/mjs/opcodes/exit.js +0 -4
  300. package/dist/mjs/opcodes/getContext.js +0 -10
  301. package/dist/mjs/opcodes/gt.d.ts +0 -3
  302. package/dist/mjs/opcodes/gt.js +0 -7
  303. package/dist/mjs/opcodes/hasContext.js +0 -11
  304. package/dist/mjs/opcodes/jgz.js +0 -8
  305. package/dist/mjs/opcodes/jz.d.ts +0 -3
  306. package/dist/mjs/opcodes/jz.js +0 -8
  307. package/dist/mjs/opcodes/lt.d.ts +0 -3
  308. package/dist/mjs/opcodes/lt.js +0 -7
  309. package/dist/mjs/opcodes/min.js +0 -8
  310. package/dist/mjs/opcodes/mul.js +0 -8
  311. package/dist/mjs/opcodes/nop.js +0 -7
  312. package/dist/mjs/opcodes/not.js +0 -14
  313. package/dist/mjs/opcodes/or.d.ts +0 -3
  314. package/dist/mjs/opcodes/or.js +0 -6
  315. package/dist/mjs/opcodes/pause.js +0 -4
  316. package/dist/mjs/opcodes/plus.js +0 -8
  317. package/dist/mjs/opcodes/pop.js +0 -4
  318. package/dist/mjs/opcodes/randInt.js +0 -7
  319. package/dist/mjs/opcodes/rconcat.js +0 -6
  320. package/dist/mjs/opcodes/setContext.js +0 -6
  321. package/dist/mjs/opcodes/stacksize.js +0 -4
  322. package/dist/mjs/opcodes/stdout.js +0 -4
  323. package/dist/mjs/package.json +0 -3
  324. package/mjs_package.json +0 -3
  325. package/tsconfig-base.json +0 -34
  326. package/tsconfig-cjs.json +0 -8
@@ -1,3 +1,3 @@
1
- import { FunctionInvocationOperation } from "../interfaces.js";
1
+ import { FunctionInvocationOperation } from "../interfaces";
2
2
  declare const stacksize: FunctionInvocationOperation;
3
3
  export default stacksize;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const stacksize = (stack) => {
4
+ stack.push(stack.length);
5
+ };
6
+ exports.default = stacksize;
7
+ //# sourceMappingURL=stacksize.js.map
@@ -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"}
@@ -1,3 +1,3 @@
1
- import { FunctionInvocationOperation } from "../interfaces.js";
1
+ import { FunctionInvocationOperation } from "../interfaces";
2
2
  declare const stdout: FunctionInvocationOperation;
3
3
  export default stdout;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const stdout = (stack) => {
4
+ process.stdout.write("" + stack.pop());
5
+ };
6
+ exports.default = stdout;
7
+ //# sourceMappingURL=stdout.js.map
@@ -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
- export class Builder {
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"}
@@ -5,3 +5,4 @@ glob.sync("./src/concisetext/*.ts").forEach(fname => {
5
5
  src = `// @ts-nocheck\n${src}`;
6
6
  fs.writeFileSync(fname, src, { encoding: 'utf-8' });
7
7
  });
8
+ //# sourceMappingURL=fix_antlr_grammar_ts.js.map
@@ -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.js";
2
- import { InvokeFunctionInstruction, PushNumberInstruction, PushStringInstruction } from "../index.js";
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
- import u from "unist-builder";
2
- import { ANTLRInputStream, CommonTokenStream } from "antlr4ts";
3
- import { ParseTreeWalker } from 'antlr4ts/tree/ParseTreeWalker.js';
4
- import { ConciseTextLexer } from "../concisetext/ConciseTextLexer.js";
5
- import { ConciseTextParser } from "../concisetext/ConciseTextParser.js";
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
- export const pushNumber = (val, comment) => {
11
- return u("push-number-instruction", { value: val, comment });
16
+ exports.pushNumber = (val, comment) => {
17
+ return unist_builder_1.default("push-number-instruction", { value: val, comment });
12
18
  };
13
- export const pushString = (val, comment) => {
14
- return u("push-string-instruction", { value: val, comment });
19
+ exports.pushString = (val, comment) => {
20
+ return unist_builder_1.default("push-string-instruction", { value: val, comment });
15
21
  };
16
- export const invokeFunction = (name, comment) => {
17
- return u("invoke-function-instruction", { functionName: name, comment });
22
+ exports.invokeFunction = (name, comment) => {
23
+ return unist_builder_1.default("invoke-function-instruction", { functionName: name, comment });
18
24
  };
19
- export class Tokenizer {
25
+ class Tokenizer {
20
26
  parse(codeBlock) {
21
27
  function getTree(input) {
22
- let inputStream = new ANTLRInputStream(input);
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._number.text));
44
- this.lastInstruction.label = context._label !== undefined ? context._label.text : undefined;
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._string.text;
48
- this.lastInstruction = pushString(str.substr(1, str.length - 2));
49
- this.lastInstruction.label = context._label !== undefined ? context._label.text : undefined;
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._opcode.text);
53
- this.lastInstruction.label = context._label !== undefined ? context._label.text : undefined;
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.js";
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;
@@ -1,70 +1,76 @@
1
- import debug from "debug";
2
- import and from "./opcodes/and.js";
3
- import charCode from "./opcodes/charCode.js";
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
- export class VM {
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 = debug("tzo-vm");
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
- import { VM } from "./vm";
2
- import { Tokenizer } from "./util/tokenizer";
3
- import { mockProcessStdout } from "jest-mock-process";
4
- import fs from "fs";
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 = fs.readdirSync("./src/tests");
13
+ const files = fs_1.default.readdirSync("./src/tests");
9
14
  files.forEach(f => {
10
- fs.unlinkSync(`./src/tests/${f}`);
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
- fs.writeFileSync(`./src/tests/${usedTestName}on`, JSON.stringify({
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.15",
3
+ "version": "1.0.19",
4
4
  "description": "A simple Stack-based Virtual Machine",
5
- "main": "dist/mjs/index.js",
6
- "types": "dist/mjs/index.d.ts",
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-cjs.json && cp cjs_package.json dist/cjs/package.json && cp mjs_package.json dist/mjs/package.json",
11
- "start": "npm run build ; node ./dist/cjs/cli.js",
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
- "antlr4ts": "^0.5.0-alpha.4",
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/mjs/index.js",
44
- "require": "./dist/cjs/index.js"
38
+ "import": "./dist/node/index.js",
39
+ "require": "./dist/browser/index.js"
45
40
  },
46
41
  "./vm": {
47
- "import": "./dist/mjs/vm.js",
48
- "require": "./dist/cjs/vm.js"
42
+ "import": "./dist/node/vm.js",
43
+ "require": "./dist/browser/vm.js"
49
44
  },
50
45
  "./vgetStackParamsm": {
51
- "import": "./dist/mjs/getStackParams.js",
52
- "require": "./dist/cjs/getStackParams.js"
46
+ "import": "./dist/node/getStackParams.js",
47
+ "require": "./dist/browser/getStackParams.js"
53
48
  }
54
49
  }
55
50
  }
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "module": "commonjs",
5
+ "declarationDir": "./dist/browser",
6
+ "outDir": "./dist/browser",
7
+ "target": "es2015"
8
+ }
9
+ }
package/tsconfig.json CHANGED
@@ -1,8 +1,29 @@
1
1
  {
2
- "extends": "./tsconfig-base.json",
3
2
  "compilerOptions": {
4
- "module": "esnext",
5
- "outDir": "dist/mjs",
6
- "target": "esnext"
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
@@ -1,3 +0,0 @@
1
- {
2
- "type": "commonjs"
3
- }