mirror of
https://github.com/imjasonh/nescript
synced 2026-07-10 09:42:37 +00:00
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
This commit is contained in:
parent
664ccc05db
commit
192d9c5c3d
9 changed files with 914 additions and 23 deletions
|
|
@ -2,8 +2,10 @@ pub mod analyzer;
|
|||
pub mod asm;
|
||||
pub mod codegen;
|
||||
pub mod errors;
|
||||
pub mod ir;
|
||||
pub mod lexer;
|
||||
pub mod linker;
|
||||
pub mod optimizer;
|
||||
pub mod parser;
|
||||
pub mod rom;
|
||||
pub mod runtime;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue