Commit Graph

42 Commits

Author SHA1 Message Date
Michael Schimmel f1733c41a0 Generic Visitors 2026-01-04 11:47:00 +01:00
Michael Schimmel 22674b962b Generic Visitors 2026-01-03 19:14:18 +01:00
Michael Schimmel db74b83e11 Generic Visitors 2026-01-02 14:29:16 +01:00
Michael Schimmel 2e0db2682f Generic Visitors 2026-01-02 14:18:46 +01:00
Michael Schimmel 13d8a21de7 Generic Visitors 2026-01-02 13:54:27 +01:00
Michael Schimmel 2395cb1e70 Generic Visitor Pattern 2026-01-02 13:29:33 +01:00
Michael Schimmel 185f8273dd Pipes and test scripts 2025-12-26 13:47:10 +01:00
Michael Schimmel 8b765487ae Implementing Pipes 2025-12-21 16:30:09 +01:00
Michael Schimmel 1d13d0cdaa Ast ternary expr replaced by cond expr 2025-12-07 12:06:29 +01:00
Michael Schimmel 9ed563bcc1 Ast visitor refactoring 2025-12-04 11:28:40 +01:00
Michael Schimmel 851f56c63f Ast list nodes 2025-11-29 18:59:16 +01:00
Michael Schimmel 521d0ac28f Ast editor rondtrip 2025-11-28 16:07:47 +01:00
Michael Schimmel aff4cec7d5 AST Identities 2025-11-25 19:41:26 +01:00
Michael Schimmel a052dfb20f AST testing 2025-11-23 00:24:43 +01:00
Michael Schimmel 240f794211 AST function purity analysis 2025-11-22 14:49:24 +01:00
Michael Schimmel 58c44079f7 Refactor Compiler Pipeline: Decouple Scope Layout from Runtime Descriptor
- **Architecture:** Split `IScopeDescriptor` into `IScopeLayout` (Binder/Structure) and immutable `IScopeDescriptor` (Runtime/Types).
- **Binder:** Now produces `IScopeLayout` via `IScopeBuilder`. Restored Upvalue tracking and Lambda nesting detection.
- **TypeChecker:** Introduced `TTypeContext` to track types during traversal. Now produces the final `IScopeDescriptor`.
- **Evaluator:** Adapted to new `ILambdaExpressionNode` structure.
- **Fixes:** Resolved `Scope depth mismatch` in TypeChecker and `AccessViolation` in Evaluator due to lost parent scopes.
2025-11-21 12:01:14 +01:00
Michael Schimmel 3ae1ed8f48 Static specialization WIP
Fix in ScopeDescriptor
2025-11-19 15:47:09 +01:00
Michael Schimmel 138e7ac454 Static specialization WIP 2025-11-19 14:38:40 +01:00
Michael Schimmel c129c1a3ae Static specialization 2025-11-11 11:58:08 +01:00
Michael Schimmel 5003cfd899 Finished node immutability 2025-11-05 18:33:29 +01:00
Michael Schimmel 1f0eef7698 Node immutability improved 2025-11-05 18:13:43 +01:00
Michael Schimmel 25984fe61a Refactoring node to be immutable 2025-11-05 15:15:12 +01:00
Michael Schimmel 218bd9f506 Refactoring 2025-11-05 13:48:10 +01:00
Michael Schimmel c0a689d2bc Refactoring for immutable nodes 2025-11-05 13:21:17 +01:00
Michael Schimmel 9bd2d6f7ab Imutability for macro nodes 2025-11-05 12:19:34 +01:00
Michael Schimmel 60358365cd Fixed macro def expansion 2025-11-05 10:39:15 +01:00
Michael Schimmel edd3e83377 Fixed macro expansion 2025-11-05 10:03:27 +01:00
Michael Schimmel ec76b78b39 Nop-Node 2025-11-03 00:35:23 +01:00
Michael Schimmel eb42a4ef3b Refactoring 2025-11-02 22:44:01 +01:00
Michael Schimmel ea39a57b77 Binder refactoring, Monster refactoring 2025-11-02 19:38:52 +01:00
Michael Schimmel 4687ecb9ca Binder refactoring - extracted macro expander 2025-11-01 13:36:10 +01:00
Michael Schimmel 3869c98652 Refactoring 2025-11-01 13:00:22 +01:00
Michael Schimmel 0526ec8a24 Keywords 2025-10-30 20:27:44 +01:00
Michael Schimmel 798aa08f02 Keywords 2025-10-30 18:00:58 +01:00
Michael Schimmel 0edb9b800b Macro expander integrated in binder 2025-10-05 15:02:45 +02:00
Michael Schimmel 54bf350c70 Macro expander integrated in binder 2025-10-04 22:41:01 +02:00
Michael Schimmel 7c48e9e203 Macro expander integrated in binder 2025-10-04 19:05:50 +02:00
Michael Schimmel d9219474e0 1st full macro expander 2025-10-03 19:46:30 +02:00
Michael Schimmel bb0ecda6be added macro quoting nodes 2025-10-03 14:17:34 +02:00
Michael Schimmel fd97799b7b added macrodef 2025-10-03 13:49:12 +02:00
Michael Schimmel 624af31243 Added user library 2025-09-24 10:03:10 +02:00
Michael Schimmel 411fd0a3ce Unit rename 2025-09-23 12:54:46 +02:00