1
0
Fork 0
mirror of https://github.com/imjasonh/nescript synced 2026-07-10 01:37:45 +00:00
nescript/src
Claude 192d9c5c3d
M2: Add call graph analysis, recursion detection, and optimizer
Analyzer extensions:
- Call graph construction from function bodies and state handlers
- DFS-based recursion detection (direct and mutual) with E0402 errors
- Max call depth computation per entry point with E0401 enforcement
- Function declarations registered as symbols (E0503 for undefined calls)
- Collects calls from all statement/expression types recursively

Optimizer (new module):
- Constant folding: evaluate known-constant arithmetic at compile time
- Dead code elimination: remove ops with unused destination temps
- Both operate per-basic-block in a single pass

171 tests total (22 new: 6 analyzer + 11 IR lowering + 5 optimizer)

https://claude.ai/code/session_01W6eQFStA66EuMKHUFo2rx3
2026-04-11 23:32:12 +00:00
..
analyzer M2: Add call graph analysis, recursion detection, and optimizer 2026-04-11 23:32:12 +00:00
asm Implement NEScript compiler Milestone 1 ("Hello Sprite") 2026-04-11 22:07:56 +00:00
codegen M2: Add function/array parsing, IR data structures and lowering 2026-04-11 23:25:26 +00:00
errors M2: Add call graph analysis, recursion detection, and optimizer 2026-04-11 23:32:12 +00:00
ir M2: Add call graph analysis, recursion detection, and optimizer 2026-04-11 23:32:12 +00:00
lexer Implement NEScript compiler Milestone 1 ("Hello Sprite") 2026-04-11 22:07:56 +00:00
linker Implement NEScript compiler Milestone 1 ("Hello Sprite") 2026-04-11 22:07:56 +00:00
optimizer M2: Add call graph analysis, recursion detection, and optimizer 2026-04-11 23:32:12 +00:00
parser M2: Add function/array parsing, IR data structures and lowering 2026-04-11 23:25:26 +00:00
rom Implement NEScript compiler Milestone 1 ("Hello Sprite") 2026-04-11 22:07:56 +00:00
runtime Implement NEScript compiler Milestone 1 ("Hello Sprite") 2026-04-11 22:07:56 +00:00
lib.rs M2: Add call graph analysis, recursion detection, and optimizer 2026-04-11 23:32:12 +00:00
main.rs Implement NEScript compiler Milestone 1 ("Hello Sprite") 2026-04-11 22:07:56 +00:00