@lewin671/python-vm 0.1.0 → 0.1.2

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 (143) hide show
  1. package/README.md +1 -2
  2. package/dist/compiler.d.ts.map +1 -0
  3. package/dist/compiler.js.map +1 -0
  4. package/dist/compiler_module/compiler.d.ts.map +1 -0
  5. package/dist/compiler_module/compiler.js.map +1 -0
  6. package/dist/compiler_module/index.d.ts.map +1 -0
  7. package/dist/compiler_module/index.js.map +1 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/lexer/index.d.ts.map +1 -0
  11. package/dist/lexer/index.js.map +1 -0
  12. package/dist/lexer/lexer.d.ts.map +1 -0
  13. package/dist/lexer/lexer.js.map +1 -0
  14. package/dist/parser/expressions.d.ts.map +1 -0
  15. package/dist/parser/expressions.js.map +1 -0
  16. package/dist/parser/index.d.ts.map +1 -0
  17. package/dist/parser/index.js.map +1 -0
  18. package/dist/parser/parser.d.ts.map +1 -0
  19. package/dist/parser/parser.js.map +1 -0
  20. package/dist/parser/statements.d.ts.map +1 -0
  21. package/dist/parser/statements.js.map +1 -0
  22. package/dist/parser/targets.d.ts.map +1 -0
  23. package/dist/parser/targets.js.map +1 -0
  24. package/dist/types/ast.d.ts.map +1 -0
  25. package/dist/types/ast.js.map +1 -0
  26. package/dist/types/bytecode.d.ts.map +1 -0
  27. package/dist/types/bytecode.js.map +1 -0
  28. package/dist/types/index.d.ts.map +1 -0
  29. package/dist/types/index.js.map +1 -0
  30. package/dist/types/token.d.ts.map +1 -0
  31. package/dist/types/token.js.map +1 -0
  32. package/dist/vm/builtins.d.ts.map +1 -0
  33. package/dist/vm/builtins.js.map +1 -0
  34. package/dist/vm/callable.d.ts.map +1 -0
  35. package/dist/vm/callable.js.map +1 -0
  36. package/dist/vm/execution.d.ts.map +1 -0
  37. package/dist/vm/execution.js.map +1 -0
  38. package/dist/vm/expression-generator.d.ts.map +1 -0
  39. package/dist/vm/expression-generator.js.map +1 -0
  40. package/dist/vm/expressions.d.ts.map +1 -0
  41. package/dist/vm/expressions.js.map +1 -0
  42. package/dist/vm/imports.d.ts.map +1 -0
  43. package/dist/vm/imports.js.map +1 -0
  44. package/dist/vm/index.d.ts.map +1 -0
  45. package/dist/vm/index.js.map +1 -0
  46. package/dist/vm/operations.d.ts.map +1 -0
  47. package/dist/vm/operations.js.map +1 -0
  48. package/dist/vm/runtime-types.d.ts.map +1 -0
  49. package/dist/vm/runtime-types.js.map +1 -0
  50. package/dist/vm/statements.d.ts.map +1 -0
  51. package/dist/vm/statements.js.map +1 -0
  52. package/dist/vm/truthy.d.ts.map +1 -0
  53. package/dist/vm/truthy.js.map +1 -0
  54. package/dist/vm/value-utils.d.ts.map +1 -0
  55. package/dist/vm/value-utils.js.map +1 -0
  56. package/dist/vm/vm.d.ts.map +1 -0
  57. package/dist/vm/vm.js.map +1 -0
  58. package/package.json +7 -1
  59. package/.claude/settings.local.json +0 -3
  60. package/.prettierrc +0 -7
  61. package/Agents.md +0 -66
  62. package/SETUP.md +0 -171
  63. package/examples/assert_testing.py +0 -38
  64. package/examples/big_int_precision.py +0 -2
  65. package/examples/boolean_logic.py +0 -35
  66. package/examples/break_continue.py +0 -43
  67. package/examples/classes_objects.py +0 -43
  68. package/examples/compiler_killer_async.py +0 -6
  69. package/examples/compiler_killer_bigint.py +0 -3
  70. package/examples/compiler_killer_bool_int_dict_key.py +0 -5
  71. package/examples/compiler_killer_bool_len.py +0 -9
  72. package/examples/compiler_killer_floor_division.py +0 -4
  73. package/examples/compiler_killer_is_identity.py +0 -3
  74. package/examples/compiler_killer_list_sort_return.py +0 -3
  75. package/examples/compiler_killer_match.py +0 -13
  76. package/examples/compiler_killer_negative_repeat.py +0 -3
  77. package/examples/compiler_killer_negative_zero_repr.py +0 -3
  78. package/examples/compiler_killer_rounding.py +0 -4
  79. package/examples/compiler_killer_slice_assign.py +0 -3
  80. package/examples/comprehensions.py +0 -28
  81. package/examples/conditions.py +0 -13
  82. package/examples/context_manager.py +0 -35
  83. package/examples/decorators.py +0 -50
  84. package/examples/exceptions.py +0 -40
  85. package/examples/fibonacci.py +0 -10
  86. package/examples/functions.py +0 -38
  87. package/examples/generator.py +0 -51
  88. package/examples/global_nonlocal.py +0 -48
  89. package/examples/hello.py +0 -3
  90. package/examples/itertools_example.py +0 -33
  91. package/examples/lists_dicts.py +0 -29
  92. package/examples/loops.py +0 -19
  93. package/examples/math_ops.py +0 -15
  94. package/examples/nan_set.py +0 -6
  95. package/examples/numbers_operators.py +0 -51
  96. package/examples/sets.py +0 -36
  97. package/examples/slicing.py +0 -29
  98. package/examples/starred_unpacking.py +0 -3
  99. package/examples/string_formatting.py +0 -36
  100. package/examples/strings.py +0 -22
  101. package/examples/tuples.py +0 -45
  102. package/examples/type_conversion.py +0 -41
  103. package/jest.config.js +0 -15
  104. package/notes/iterations/compiler-runtime/compiler-runtime_2025-09-16.md +0 -25
  105. package/notes/iterations/compiler-runtime/compiler-runtime_2026-01-16.md +0 -24
  106. package/notes/iterations/compiler-runtime/compiler-runtime_test_2026-01-16.md +0 -21
  107. package/notes/iterations/floor-division/floor-division_2026-01-16.md +0 -29
  108. package/prompts/commit.txt +0 -9
  109. package/prompts/task.txt +0 -21
  110. package/prompts/test.txt +0 -23
  111. package/scripts/codex-loop.js +0 -215
  112. package/scripts/verify.sh +0 -12
  113. package/src/compiler.ts +0 -58
  114. package/src/compiler_module/compiler.ts +0 -19
  115. package/src/compiler_module/index.ts +0 -1
  116. package/src/index.ts +0 -39
  117. package/src/lexer/index.ts +0 -1
  118. package/src/lexer/lexer.ts +0 -402
  119. package/src/parser/expressions.ts +0 -462
  120. package/src/parser/index.ts +0 -1
  121. package/src/parser/parser.ts +0 -102
  122. package/src/parser/statements.ts +0 -366
  123. package/src/parser/targets.ts +0 -71
  124. package/src/types/ast.ts +0 -64
  125. package/src/types/bytecode.ts +0 -50
  126. package/src/types/index.ts +0 -3
  127. package/src/types/token.ts +0 -44
  128. package/src/vm/builtins.ts +0 -237
  129. package/src/vm/callable.ts +0 -154
  130. package/src/vm/execution.ts +0 -251
  131. package/src/vm/expression-generator.ts +0 -65
  132. package/src/vm/expressions.ts +0 -373
  133. package/src/vm/imports.ts +0 -61
  134. package/src/vm/index.ts +0 -2
  135. package/src/vm/operations.ts +0 -414
  136. package/src/vm/runtime-types.ts +0 -292
  137. package/src/vm/statements.ts +0 -358
  138. package/src/vm/truthy.ts +0 -36
  139. package/src/vm/value-utils.ts +0 -173
  140. package/src/vm/vm.ts +0 -80
  141. package/tests/compiler.test.ts +0 -111
  142. package/tsconfig.json +0 -20
  143. package/vitest.config.ts +0 -16
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statements.js","sourceRoot":"","sources":["../../src/vm/statements.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truthy.d.ts","sourceRoot":"","sources":["../../src/vm/truthy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAmC,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGzE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CA+BhF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truthy.js","sourceRoot":"","sources":["../../src/vm/truthy.ts"],"names":[],"mappings":";;AAIA,4BA+BC;AAlCD,mDAAyE;AACzE,+CAAwD;AAExD,SAAgB,QAAQ,CAAuB,KAAU,EAAE,KAAY;IACrE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,KAAK,YAAY,MAAM;QAAE,OAAO,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1D,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,KAAK,CAAC,CAAC;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,KAAK,EAAE,CAAC;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,IAAI,KAAK,YAAY,sBAAM;QAAE,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IACnD,IAAI,KAAK,YAAY,GAAG;QAAE,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAChD,IAAI,KAAK,YAAY,0BAAU,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAClE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7D,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7D,IAAI,CAAC,IAAA,2BAAa,EAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,IAAA,sBAAQ,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-utils.d.ts","sourceRoot":"","sources":["../../src/vm/value-utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,GAAI,OAAO,GAAG,YAAmB,CAAC;AAEvD,eAAO,MAAM,QAAQ,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,MAAmC,CAAC;AACnF,eAAO,MAAM,WAAW,GAAI,OAAO,GAAG,KAAG,OAAqE,CAAC;AAC/G,eAAO,MAAM,aAAa,GAAI,OAAO,GAAG,KAAG,OAAyD,CAAC;AACrG,eAAO,MAAM,WAAW,GAAI,OAAO,GAAG,KAAG,OAA0F,CAAC;AACpI,eAAO,MAAM,SAAS,GAAI,OAAO,GAAG,KAAG,OAKnB,CAAC;AACrB,eAAO,MAAM,aAAa,GAAI,OAAO,GAAG,KAAG,OAC4D,CAAC;AACxG,eAAO,MAAM,QAAQ,GAAI,OAAO,GAAG,KAAG,MAKrC,CAAC;AACF,eAAO,MAAM,aAAa,GAAI,OAAO,GAAG,KAAG,MAK1C,CAAC;AACF,eAAO,MAAM,eAAe,GAAI,MAAM,GAAG,EAAE,OAAO,GAAG,KAAG,OAC0B,CAAC;AACnF,eAAO,MAAM,aAAa,GAAI,MAAM,GAAG,EAAE,OAAO,GAAG,KAAG,OAUrD,CAAC;AACF,eAAO,MAAM,cAAc,GACzB,MAAM,GAAG,EACT,OAAO,GAAG,KACT;IAAE,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,IAM7E,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MAK5D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,GAAG,KAAG,MAevC,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,OAAO,GAAG,KAAG,MAwCnC,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,OAAO,GAAG,KAAG,MAMlC,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,GAAG,QAA+B,CAAC;AAEpE,eAAO,MAAM,SAAS,GAAI,OAAO,GAAG,QAInC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,GAAG,EAAE,OAAO,GAAG,6BAmBjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,KAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAiBxF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-utils.js","sourceRoot":"","sources":["../../src/vm/value-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vm.d.ts","sourceRoot":"","sources":["../../src/vm/vm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC3H,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACtK,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACrG,OAAO,EACL,eAAe,EACf,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,qBAAa,cAAc;IAClB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAa;IAC1C,iBAAiB,EAAE,MAAM,EAAE,CAAC;gBAEvB,iBAAiB,GAAE,MAAM,EAAoB;IAIzD,OAAO,iBAAW;IAClB,eAAe,yBAAmB;IAClC,YAAY,sBAAgB;IAC5B,mBAAmB,6BAAuB;IAC1C,kBAAkB,4BAAsB;IACxC,iBAAiB,2BAAqB;IACtC,YAAY,sBAAgB;IAC5B,eAAe,yBAAmB;IAClC,gBAAgB,0BAAoB;IACpC,YAAY,sBAAgB;IAC5B,aAAa,uBAAiB;IAC9B,qBAAqB,+BAAyB;IAC9C,yBAAyB,mCAA6B;IACtD,2BAA2B,qCAA+B;IAC1D,gBAAgB,0BAAoB;IACpC,YAAY,sBAAgB;IAC5B,eAAe,yBAAmB;IAClC,YAAY,sBAAgB;IAC5B,kBAAkB,4BAAsB;IACxC,wBAAwB,kCAA4B;IACpD,uBAAuB,iCAA2B;IAClD,eAAe,yBAAmB;IAClC,eAAe,yBAAmB;IAClC,UAAU,oBAAc;IACxB,QAAQ,kBAAY;IACpB,QAAQ,kBAAY;IACpB,WAAW,qBAAe;IAC1B,aAAa,uBAAiB;IAC9B,YAAY,sBAAgB;IAC5B,kBAAkB,4BAAsB;IACxC,mBAAmB,6BAAuB;IAC1C,kBAAkB,4BAAsB;IACxC,YAAY,sBAAgB;IAC5B,YAAY,sBAAgB;IAC5B,kBAAkB,4BAAsB;IACxC,YAAY,sBAAgB;IAC5B,aAAa,uBAAiB;IAC9B,qBAAqB,+BAAyB;IAC9C,qBAAqB,+BAAyB;IAC9C,kBAAkB,4BAAsB;CACzC;AAED,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vm.js","sourceRoot":"","sources":["../../src/vm/vm.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAA6C;AAC7C,yCAA2H;AAC3H,2CAAsK;AACtK,iEAAqE;AACrE,uCAAqG;AACrG,+CAQuB;AACvB,6CAA6F;AAC7F,6CAUsB;AACtB,qCAAoC;AAGpC,MAAa,cAAc;IAIzB,YAAY,oBAA8B,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAHlD,gBAAW,GAAqB,IAAI,GAAG,EAAE,CAAC;QAOjD,YAAO,GAAG,mBAAO,CAAC;QAClB,oBAAe,GAAG,0BAAe,CAAC;QAClC,iBAAY,GAAG,sBAAY,CAAC;QAC5B,wBAAmB,GAAG,6BAAmB,CAAC;QAC1C,uBAAkB,GAAG,4BAAkB,CAAC;QACxC,sBAAiB,GAAG,2BAAiB,CAAC;QACtC,iBAAY,GAAG,wBAAY,CAAC;QAC5B,oBAAe,GAAG,2BAAe,CAAC;QAClC,qBAAgB,GAAG,4BAAgB,CAAC;QACpC,iBAAY,GAAG,wBAAY,CAAC;QAC5B,kBAAa,GAAG,yBAAa,CAAC;QAC9B,0BAAqB,GAAG,iCAAqB,CAAC;QAC9C,8BAAyB,GAAG,qCAAyB,CAAC;QACtD,gCAA2B,GAAG,kDAA2B,CAAC;QAC1D,qBAAgB,GAAG,6BAAgB,CAAC;QACpC,iBAAY,GAAG,yBAAY,CAAC;QAC5B,oBAAe,GAAG,4BAAe,CAAC;QAClC,iBAAY,GAAG,yBAAY,CAAC;QAC5B,uBAAkB,GAAG,gCAAkB,CAAC;QACxC,6BAAwB,GAAG,sCAAwB,CAAC;QACpD,4BAAuB,GAAG,qCAAuB,CAAC;QAClD,oBAAe,GAAG,6BAAe,CAAC;QAClC,oBAAe,GAAG,6BAAe,CAAC;QAClC,eAAU,GAAG,wBAAU,CAAC;QACxB,aAAQ,GAAG,sBAAQ,CAAC;QACpB,aAAQ,GAAG,iBAAQ,CAAC;QACpB,gBAAW,GAAG,wBAAW,CAAC;QAC1B,kBAAa,GAAG,0BAAa,CAAC;QAC9B,iBAAY,GAAG,yBAAY,CAAC;QAC5B,uBAAkB,GAAG,+BAAkB,CAAC;QACxC,wBAAmB,GAAG,gCAAmB,CAAC;QAC1C,uBAAkB,GAAG,+BAAkB,CAAC;QACxC,iBAAY,GAAG,yBAAY,CAAC;QAC5B,iBAAY,GAAG,yBAAY,CAAC;QAC5B,uBAAkB,GAAG,+BAAkB,CAAC;QACxC,iBAAY,GAAG,uBAAY,CAAC;QAC5B,kBAAa,GAAG,wBAAa,CAAC;QAC9B,0BAAqB,GAAG,gCAAqB,CAAC;QAC9C,0BAAqB,GAAG,gCAAqB,CAAC;QAC9C,uBAAkB,GAAG,6BAAkB,CAAC;QA1CtC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;CA0CF;AAhDD,wCAgDC;AAED,kDAAgC"}
package/package.json CHANGED
@@ -1,9 +1,15 @@
1
1
  {
2
2
  "name": "@lewin671/python-vm",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "A Python compiler and interpreter implemented in TypeScript",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist",
9
+ "README.md",
10
+ "README_zh-CN.md",
11
+ "LICENSE"
12
+ ],
7
13
  "scripts": {
8
14
  "build": "tsc",
9
15
  "dev": "tsc --watch",
@@ -1,3 +0,0 @@
1
- {
2
- "outputStyle": "default"
3
- }
package/.prettierrc DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "semi": true,
3
- "trailingComma": "all",
4
- "singleQuote": true,
5
- "printWidth": 100,
6
- "tabWidth": 2
7
- }
package/Agents.md DELETED
@@ -1,66 +0,0 @@
1
- # Python Compiler Architecture (TypeScript)
2
-
3
- ## Overview
4
-
5
- This project is a Python compiler + interpreter written in TypeScript.
6
- It follows a classic 4-stage pipeline:
7
-
8
- **Lex → Parse → Compile → Execute**
9
-
10
- Goal: keep the system **modular, testable, and easy to extend.**
11
-
12
- ## Architecture
13
-
14
- ```
15
- Python Source
16
-
17
- Lexer → Tokens
18
-
19
- Parser → AST
20
-
21
- Compiler → Bytecode
22
-
23
- VM → Result
24
- ```
25
-
26
- Each stage must:
27
-
28
- * Do one job only
29
- * Have clear input/output types
30
- * Avoid cross-stage coupling
31
-
32
- ## Engineering Rules
33
-
34
- ### 1. 500-Line Rule
35
-
36
- * **Hard limit:** No `.ts` file over **500 lines**
37
- * **Refactor early:** At **400 lines**, start splitting
38
- * **Why:**
39
-
40
- * Easier to read and review
41
- * Faster debugging
42
- * Better AI/code-assist context
43
-
44
- ### 2. Modularity
45
-
46
- * One file = one main responsibility
47
- * No “god files”
48
- * Shared logic goes into `utils/` or `common/`
49
-
50
- ### 3. Stage Isolation
51
-
52
- * Lexer never touches AST
53
- * Parser never emits bytecode
54
- * Compiler never executes
55
- * VM never parses
56
-
57
- Each layer talks only through well-defined data structures.
58
-
59
- ### 4. Test by Stage
60
-
61
- * Unit test each stage independently:
62
-
63
- * Lexer → tokens
64
- * Parser → AST
65
- * Compiler → bytecode
66
- * VM → runtime result
package/SETUP.md DELETED
@@ -1,171 +0,0 @@
1
- # 项目设置和测试说明
2
-
3
- ## 项目概览
4
-
5
- 这是一个用 TypeScript 实现的 Python 编译器项目。目前编译器核心功能尚未完全实现,使用方法壳来定义接口。
6
-
7
- ## 当前状态
8
-
9
- ### ✅ 已完成
10
- - 项目结构搭建
11
- - 配置文件(TypeScript, Jest, ESLint, Prettier)
12
- - 编译器接口定义(方法壳)
13
- - 完整的测试用例
14
- - Python 示例脚本(可在 shell 中正常运行)
15
-
16
- ### 🚧 待实现
17
- - 词法分析器(Tokenizer)
18
- - 语法分析器(Parser)
19
- - 编译器(Compiler)
20
- - 虚拟机(VM)
21
-
22
- ## 快速开始
23
-
24
- ### 安装依赖
25
- ```bash
26
- npm install
27
- ```
28
-
29
- ### 编译项目
30
- ```bash
31
- npm run build
32
- ```
33
-
34
- ### 运行测试
35
- ```bash
36
- npm test
37
- ```
38
-
39
- **注意:** 测试预期会失败,因为编译器核心功能尚未实现。所有 24 个测试都会报错:
40
- ```
41
- Error: Tokenizer not implemented yet
42
- ```
43
-
44
- 这是正常的!这表明:
45
- 1. 测试框架正常工作
46
- 2. 测试用例正确配置
47
- 3. 编译器接口定义完整
48
- 4. 现在可以开始实现各个模块
49
-
50
- ## 验证 Python 脚本
51
-
52
- 所有示例 Python 脚本都可以在 shell 中正常运行:
53
-
54
- ```bash
55
- # Hello World
56
- python3 examples/hello.py
57
-
58
- # 数学运算
59
- python3 examples/math.py
60
-
61
- # 斐波那契数列
62
- python3 examples/fibonacci.py
63
-
64
- # 条件语句
65
- python3 examples/conditions.py
66
-
67
- # 循环
68
- python3 examples/loops.py
69
- ```
70
-
71
- ## 项目结构
72
-
73
- ```
74
- python-compiler-ts/
75
- ├── src/
76
- │ ├── compiler.ts # 编译器主类(方法壳)
77
- │ └── index.ts # CLI 入口
78
- ├── tests/
79
- │ └── compiler.test.ts # 24 个测试用例
80
- ├── examples/ # Python 示例脚本
81
- │ ├── hello.py # Hello World
82
- │ ├── math.py # 数学运算
83
- │ ├── fibonacci.py # 递归函数
84
- │ ├── conditions.py # 条件语句
85
- │ └── loops.py # 循环语句
86
- ├── dist/ # 编译输出(npm run build)
87
- ├── package.json
88
- ├── tsconfig.json
89
- ├── jest.config.js
90
- └── README.md
91
- ```
92
-
93
- ## 测试覆盖范围
94
-
95
- 测试用例涵盖以下 Python 特性:
96
-
97
- 1. **Hello World** (2 tests)
98
- - 简单的 print 语句
99
- - 运行 hello.py 文件
100
-
101
- 2. **变量和算术运算** (3 tests)
102
- - 变量赋值
103
- - 基本算术运算
104
- - 运行 math.py 文件
105
-
106
- 3. **函数** (4 tests)
107
- - 函数定义
108
- - 函数调用
109
- - 递归函数
110
- - 运行 fibonacci.py 文件
111
-
112
- 4. **控制流** (3 tests)
113
- - if 语句
114
- - if-elif-else 语句
115
- - 运行 conditions.py 文件
116
-
117
- 5. **循环** (4 tests)
118
- - for 循环(range)
119
- - while 循环
120
- - 列表迭代
121
- - 运行 loops.py 文件
122
-
123
- 6. **数据类型** (5 tests)
124
- - 整数
125
- - 浮点数
126
- - 字符串
127
- - 布尔值
128
- - 列表
129
-
130
- 7. **运算符** (3 tests)
131
- - 算术运算符(+, -, *, /, %, **)
132
- - 比较运算符(==, !=, <, >, <=, >=)
133
- - 逻辑运算符(and, or, not)
134
-
135
- **总计:24 个测试用例,全部预期失败**
136
-
137
- ## 下一步
138
-
139
- 1. 实现 `tokenize()` 方法 - 词法分析
140
- 2. 实现 `parse()` 方法 - 语法分析
141
- 3. 实现 `compile()` 方法 - 编译到字节码
142
- 4. 实现 `execute()` 方法 - 虚拟机执行
143
- 5. 逐步通过测试用例
144
-
145
- ## 开发命令
146
-
147
- ```bash
148
- # 开发模式(监听文件变化)
149
- npm run dev
150
-
151
- # 运行测试(监听模式)
152
- npm run test:watch
153
-
154
- # 测试覆盖率
155
- npm run test:coverage
156
-
157
- # 代码检查
158
- npm run lint
159
-
160
- # 代码格式化
161
- npm run format
162
- ```
163
-
164
- ## 贡献指南
165
-
166
- 1. 从简单的功能开始实现(如:整数字面量、变量赋值)
167
- 2. 确保每次实现后运行测试
168
- 3. 逐步增加复杂度
169
- 4. 保持代码整洁和文档更新
170
-
171
- 祝你编码愉快!🚀
@@ -1,38 +0,0 @@
1
- # Assert 语句进行简单测试
2
- def test_addition():
3
- assert 2 + 2 == 4, "Addition failed"
4
- assert 1 + 1 == 2
5
- print("Addition tests passed")
6
-
7
- def test_string():
8
- assert "hello".upper() == "HELLO"
9
- assert "hello" == "hello"
10
- print("String tests passed")
11
-
12
- def test_list():
13
- lst = [1, 2, 3]
14
- assert len(lst) == 3
15
- assert 2 in lst
16
- assert 4 not in lst
17
- print("List tests passed")
18
-
19
- def test_comparison():
20
- assert 5 > 3
21
- assert 2 < 5
22
- assert 5 >= 5
23
- print("Comparison tests passed")
24
-
25
- # 运行测试
26
- test_addition()
27
- test_string()
28
- test_list()
29
- test_comparison()
30
-
31
- print("\nAll tests passed!")
32
-
33
- # 测试失败的示例
34
- print("\nTesting failure case:")
35
- try:
36
- assert 1 == 2, "This assertion will fail"
37
- except AssertionError as e:
38
- print(f"Caught AssertionError: {e}")
@@ -1,2 +0,0 @@
1
- # Exposes JS-number precision loss if integers are not BigInt-backed.
2
- print(10**20 + 1 == 10**20)
@@ -1,35 +0,0 @@
1
- # 布尔类型和逻辑运算
2
- x = True
3
- y = False
4
-
5
- print("x and y:", x and y)
6
- print("x or y:", x or y)
7
- print("not x:", not x)
8
-
9
- # 比较运算
10
- a = 10
11
- b = 20
12
-
13
- print(f"{a} == {b}:", a == b)
14
- print(f"{a} != {b}:", a != b)
15
- print(f"{a} < {b}:", a < b)
16
- print(f"{a} > {b}:", a > b)
17
- print(f"{a} <= {b}:", a <= b)
18
- print(f"{a} >= {b}:", a >= b)
19
-
20
- # 链式比较
21
- c = 15
22
- print(f"{a} < {c} < {b}:", a < c < b)
23
-
24
- # 成员运算符
25
- numbers = [1, 2, 3, 4, 5]
26
- print("3 in numbers:", 3 in numbers)
27
- print("6 not in numbers:", 6 not in numbers)
28
-
29
- # 布尔条件
30
- if (x or (a < b and not y)):
31
- print("Complex condition is true")
32
-
33
- # 三元运算符
34
- result = "positive" if a > 0 else "non-positive"
35
- print(f"a is {result}")
@@ -1,43 +0,0 @@
1
- # Break 和 Continue 语句
2
- print("Break example:")
3
- for i in range(10):
4
- if i == 5:
5
- break
6
- print(i, end=" ")
7
- print()
8
-
9
- print("\nContinue example:")
10
- for i in range(10):
11
- if i % 2 == 0:
12
- continue
13
- print(i, end=" ")
14
- print()
15
-
16
- # 嵌套循环中的 break
17
- print("\nNested loop with break:")
18
- for i in range(3):
19
- for j in range(3):
20
- if j == 1:
21
- break
22
- print(f"({i}, {j})", end=" ")
23
- print()
24
-
25
- # While 循环中的 break 和 continue
26
- print("\nWhile with break and continue:")
27
- count = 0
28
- while count < 10:
29
- count += 1
30
- if count == 3:
31
- continue
32
- if count == 8:
33
- break
34
- print(count, end=" ")
35
- print()
36
-
37
- # Pass 语句
38
- print("\nPass statement:")
39
- for i in range(3):
40
- if i == 1:
41
- pass # 占位符
42
- else:
43
- print(f"i = {i}")
@@ -1,43 +0,0 @@
1
- # 类定义和对象
2
- class Dog:
3
- species = "Canis familiaris"
4
-
5
- def __init__(self, name, age):
6
- self.name = name
7
- self.age = age
8
-
9
- def bark(self):
10
- return f"{self.name} says: Woof!"
11
-
12
- def birthday(self):
13
- self.age += 1
14
- return f"{self.name} is now {self.age} years old"
15
-
16
- # 创建对象
17
- dog1 = Dog("Rex", 3)
18
- dog2 = Dog("Buddy", 5)
19
-
20
- print(dog1.bark())
21
- print(dog2.bark())
22
-
23
- # 访问属性
24
- print(f"{dog1.name} is {dog1.age} years old")
25
-
26
- # 调用方法
27
- print(dog1.birthday())
28
- print(f"Species: {dog1.species}")
29
-
30
- # 继承
31
- class Animal:
32
- def __init__(self, name):
33
- self.name = name
34
-
35
- def speak(self):
36
- return f"{self.name} makes a sound"
37
-
38
- class Cat(Animal):
39
- def speak(self):
40
- return f"{self.name} says: Meow!"
41
-
42
- cat = Cat("Whiskers")
43
- print(cat.speak())
@@ -1,6 +0,0 @@
1
- import asyncio
2
-
3
- async def main():
4
- return 3
5
-
6
- print(asyncio.run(main()))
@@ -1,3 +0,0 @@
1
- # Exploit: bool is a subclass of int; indexing should treat True as 1
2
- arr = [10, 20]
3
- print(arr[True])
@@ -1,5 +0,0 @@
1
- d = {1: "int", True: "bool"}
2
- print(len(d))
3
- print(d[1])
4
- print(d[True])
5
- print(list(d.keys()))
@@ -1,9 +0,0 @@
1
- class Trick:
2
- def __bool__(self):
3
- return False
4
- def __len__(self):
5
- return 1
6
-
7
- t = Trick()
8
- print(bool(t))
9
- print("truthy" if t else "falsy")
@@ -1,4 +0,0 @@
1
- x = -3
2
- print(x // 2)
3
- print(x % 2)
4
- print((x // 2) * 2 + (x % 2))
@@ -1,3 +0,0 @@
1
- a = int("257")
2
- b = int("257")
3
- print(a is b)
@@ -1,3 +0,0 @@
1
- a = [3, 1]
2
- print(a.sort())
3
- print(a)
@@ -1,13 +0,0 @@
1
- def classify(value):
2
- match value:
3
- case 0 | 1:
4
- return "small"
5
- case [a, b]:
6
- return a + b
7
- case _:
8
- return "other"
9
-
10
-
11
- print(classify([2, 3]))
12
- print(classify(1))
13
- print(classify("x"))
@@ -1,3 +0,0 @@
1
- print('start')
2
- print('a' * -1)
3
- print('end')
@@ -1,3 +0,0 @@
1
- # CPython preserves the sign of negative zero in float formatting.
2
- print(-0.0)
3
- print(float("-0.0"))
@@ -1,4 +0,0 @@
1
- # Adversarial: Python round uses bankers rounding (ties to even)
2
-
3
- print(round(2.5))
4
- print(round(3.5))
@@ -1,3 +0,0 @@
1
- a = [0, 1, 2, 3, 4, 5]
2
- a[1:5:2] = [9, 9]
3
- print(a)
@@ -1,28 +0,0 @@
1
- # 列表推导式
2
- numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
3
-
4
- # 简单推导式
5
- squares = [x**2 for x in numbers]
6
- print("Squares:", squares)
7
-
8
- # 带条件的推导式
9
- evens = [x for x in numbers if x % 2 == 0]
10
- print("Even numbers:", evens)
11
-
12
- # 嵌套推导式
13
- matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
14
- flattened = [x for row in matrix for x in row]
15
- print("Flattened:", flattened)
16
-
17
- # 字典推导式
18
- word = "hello"
19
- char_count = {char: word.count(char) for char in word}
20
- print("Character count:", char_count)
21
-
22
- # 集合推导式
23
- unique_chars = {char for char in "programming"}
24
- print("Unique chars:", sorted(unique_chars))
25
-
26
- # 生成器表达式
27
- gen = (x**2 for x in range(5))
28
- print("Generator:", list(gen))
@@ -1,13 +0,0 @@
1
- # 条件语句示例
2
- def check_number(num):
3
- if num > 0:
4
- print(f"{num} is positive")
5
- elif num < 0:
6
- print(f"{num} is negative")
7
- else:
8
- print(f"{num} is zero")
9
-
10
- # 测试不同的数字
11
- check_number(10)
12
- check_number(-5)
13
- check_number(0)