@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.
- package/README.md +1 -2
- package/dist/compiler.d.ts.map +1 -0
- package/dist/compiler.js.map +1 -0
- package/dist/compiler_module/compiler.d.ts.map +1 -0
- package/dist/compiler_module/compiler.js.map +1 -0
- package/dist/compiler_module/index.d.ts.map +1 -0
- package/dist/compiler_module/index.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/lexer/index.d.ts.map +1 -0
- package/dist/lexer/index.js.map +1 -0
- package/dist/lexer/lexer.d.ts.map +1 -0
- package/dist/lexer/lexer.js.map +1 -0
- package/dist/parser/expressions.d.ts.map +1 -0
- package/dist/parser/expressions.js.map +1 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/parser.d.ts.map +1 -0
- package/dist/parser/parser.js.map +1 -0
- package/dist/parser/statements.d.ts.map +1 -0
- package/dist/parser/statements.js.map +1 -0
- package/dist/parser/targets.d.ts.map +1 -0
- package/dist/parser/targets.js.map +1 -0
- package/dist/types/ast.d.ts.map +1 -0
- package/dist/types/ast.js.map +1 -0
- package/dist/types/bytecode.d.ts.map +1 -0
- package/dist/types/bytecode.js.map +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/token.d.ts.map +1 -0
- package/dist/types/token.js.map +1 -0
- package/dist/vm/builtins.d.ts.map +1 -0
- package/dist/vm/builtins.js.map +1 -0
- package/dist/vm/callable.d.ts.map +1 -0
- package/dist/vm/callable.js.map +1 -0
- package/dist/vm/execution.d.ts.map +1 -0
- package/dist/vm/execution.js.map +1 -0
- package/dist/vm/expression-generator.d.ts.map +1 -0
- package/dist/vm/expression-generator.js.map +1 -0
- package/dist/vm/expressions.d.ts.map +1 -0
- package/dist/vm/expressions.js.map +1 -0
- package/dist/vm/imports.d.ts.map +1 -0
- package/dist/vm/imports.js.map +1 -0
- package/dist/vm/index.d.ts.map +1 -0
- package/dist/vm/index.js.map +1 -0
- package/dist/vm/operations.d.ts.map +1 -0
- package/dist/vm/operations.js.map +1 -0
- package/dist/vm/runtime-types.d.ts.map +1 -0
- package/dist/vm/runtime-types.js.map +1 -0
- package/dist/vm/statements.d.ts.map +1 -0
- package/dist/vm/statements.js.map +1 -0
- package/dist/vm/truthy.d.ts.map +1 -0
- package/dist/vm/truthy.js.map +1 -0
- package/dist/vm/value-utils.d.ts.map +1 -0
- package/dist/vm/value-utils.js.map +1 -0
- package/dist/vm/vm.d.ts.map +1 -0
- package/dist/vm/vm.js.map +1 -0
- package/package.json +7 -1
- package/.claude/settings.local.json +0 -3
- package/.prettierrc +0 -7
- package/Agents.md +0 -66
- package/SETUP.md +0 -171
- package/examples/assert_testing.py +0 -38
- package/examples/big_int_precision.py +0 -2
- package/examples/boolean_logic.py +0 -35
- package/examples/break_continue.py +0 -43
- package/examples/classes_objects.py +0 -43
- package/examples/compiler_killer_async.py +0 -6
- package/examples/compiler_killer_bigint.py +0 -3
- package/examples/compiler_killer_bool_int_dict_key.py +0 -5
- package/examples/compiler_killer_bool_len.py +0 -9
- package/examples/compiler_killer_floor_division.py +0 -4
- package/examples/compiler_killer_is_identity.py +0 -3
- package/examples/compiler_killer_list_sort_return.py +0 -3
- package/examples/compiler_killer_match.py +0 -13
- package/examples/compiler_killer_negative_repeat.py +0 -3
- package/examples/compiler_killer_negative_zero_repr.py +0 -3
- package/examples/compiler_killer_rounding.py +0 -4
- package/examples/compiler_killer_slice_assign.py +0 -3
- package/examples/comprehensions.py +0 -28
- package/examples/conditions.py +0 -13
- package/examples/context_manager.py +0 -35
- package/examples/decorators.py +0 -50
- package/examples/exceptions.py +0 -40
- package/examples/fibonacci.py +0 -10
- package/examples/functions.py +0 -38
- package/examples/generator.py +0 -51
- package/examples/global_nonlocal.py +0 -48
- package/examples/hello.py +0 -3
- package/examples/itertools_example.py +0 -33
- package/examples/lists_dicts.py +0 -29
- package/examples/loops.py +0 -19
- package/examples/math_ops.py +0 -15
- package/examples/nan_set.py +0 -6
- package/examples/numbers_operators.py +0 -51
- package/examples/sets.py +0 -36
- package/examples/slicing.py +0 -29
- package/examples/starred_unpacking.py +0 -3
- package/examples/string_formatting.py +0 -36
- package/examples/strings.py +0 -22
- package/examples/tuples.py +0 -45
- package/examples/type_conversion.py +0 -41
- package/jest.config.js +0 -15
- package/notes/iterations/compiler-runtime/compiler-runtime_2025-09-16.md +0 -25
- package/notes/iterations/compiler-runtime/compiler-runtime_2026-01-16.md +0 -24
- package/notes/iterations/compiler-runtime/compiler-runtime_test_2026-01-16.md +0 -21
- package/notes/iterations/floor-division/floor-division_2026-01-16.md +0 -29
- package/prompts/commit.txt +0 -9
- package/prompts/task.txt +0 -21
- package/prompts/test.txt +0 -23
- package/scripts/codex-loop.js +0 -215
- package/scripts/verify.sh +0 -12
- package/src/compiler.ts +0 -58
- package/src/compiler_module/compiler.ts +0 -19
- package/src/compiler_module/index.ts +0 -1
- package/src/index.ts +0 -39
- package/src/lexer/index.ts +0 -1
- package/src/lexer/lexer.ts +0 -402
- package/src/parser/expressions.ts +0 -462
- package/src/parser/index.ts +0 -1
- package/src/parser/parser.ts +0 -102
- package/src/parser/statements.ts +0 -366
- package/src/parser/targets.ts +0 -71
- package/src/types/ast.ts +0 -64
- package/src/types/bytecode.ts +0 -50
- package/src/types/index.ts +0 -3
- package/src/types/token.ts +0 -44
- package/src/vm/builtins.ts +0 -237
- package/src/vm/callable.ts +0 -154
- package/src/vm/execution.ts +0 -251
- package/src/vm/expression-generator.ts +0 -65
- package/src/vm/expressions.ts +0 -373
- package/src/vm/imports.ts +0 -61
- package/src/vm/index.ts +0 -2
- package/src/vm/operations.ts +0 -414
- package/src/vm/runtime-types.ts +0 -292
- package/src/vm/statements.ts +0 -358
- package/src/vm/truthy.ts +0 -36
- package/src/vm/value-utils.ts +0 -173
- package/src/vm/vm.ts +0 -80
- package/tests/compiler.test.ts +0 -111
- package/tsconfig.json +0 -20
- 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.
|
|
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",
|
package/.prettierrc
DELETED
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,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,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))
|
package/examples/conditions.py
DELETED