Commit Graph

82 Commits

Author SHA1 Message Date
Michael Schimmel f8dc5b945c Keyword mapping refactoring 2025-12-09 12:59:36 +01:00
Michael Schimmel 95de9a155e Extracted TDynamicRecord 2025-12-08 10:21:25 +01:00
Michael Schimmel 1d13d0cdaa Ast ternary expr replaced by cond expr 2025-12-07 12:06:29 +01:00
Michael Schimmel 851f56c63f Ast list nodes 2025-11-29 18:59:16 +01:00
Michael Schimmel 0a1df4e9fe Compiler exceptions 2025-11-25 15:51:04 +01:00
Michael Schimmel d84509c034 Tests for Parser 2025-11-25 14:40:04 +01:00
Michael Schimmel 2f87444827 Integrated Boolean and DateTime as core types 2025-11-23 22:34:10 +01:00
Michael Schimmel a052dfb20f AST testing 2025-11-23 00:24:43 +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 138e7ac454 Static specialization WIP 2025-11-19 14:38:40 +01:00
Michael Schimmel 8a6c866a9c Planning static specialization 2025-11-10 10:00:08 +01:00
Michael Schimmel 93dc19497c Ast environment refactoring 2025-11-08 15:57:12 +01:00
Michael Schimmel 1f0eef7698 Node immutability improved 2025-11-05 18:13:43 +01:00
Michael Schimmel b98e7d98e6 Refactoring node to be immutable 2025-11-05 15:24:54 +01:00
Michael Schimmel 60358365cd Fixed macro def expansion 2025-11-05 10:39:15 +01:00
Michael Schimmel d82a75aba6 Making AST node inmmutable - WIP 2025-11-04 20:12:12 +01:00
Michael Schimmel 48ccb23060 Refactoring 2025-11-04 18:22:06 +01:00
Michael Schimmel ec76b78b39 Nop-Node 2025-11-03 00:35:23 +01:00
Michael Schimmel ea39a57b77 Binder refactoring, Monster refactoring 2025-11-02 19:38:52 +01:00
Michael Schimmel 6ab51816d1 Binder refactoring 2025-11-01 13:09:29 +01:00
Michael Schimmel 957171f089 Keywords as basic scalar type
Script enhancements
2025-11-01 00:56:59 +01:00
Michael Schimmel 689dede600 Keywords as basic scalar type 2025-10-31 21:15:08 +01:00
Michael Schimmel 8abec8e98f Keywords 2025-10-31 18:12:53 +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 51265ce945 Fixed weak self method pointer bug
Better formatting of function calls in pretty printer
2025-10-07 10:42:53 +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 fd97799b7b added macrodef 2025-10-03 13:49:12 +02:00
Michael Schimmel d47c1417f5 Comment in AST script 2025-10-03 11:53:02 +02:00
Michael Schimmel 1c1bd4cdca Fixed closure upvalue scoping 2025-09-30 17:25:28 +02:00
Michael Schimmel e1a46da6f8 Fix in Recur Node declaration 2025-09-29 11:23:39 +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
Michael Schimmel 46d40cfbca Fix in Scripting 2025-09-23 12:51:55 +02:00
Michael Schimmel c573628fe5 Major refactoring, split Bound Ast from source Ast 2025-09-22 19:56:51 +02:00
Michael Schimmel 00f5861148 Global data value refactoring + 1st scripting version 2025-09-20 18:30:32 +02:00
Michael Schimmel 81dd69bf49 RECUR keyword added 2025-09-20 12:06:51 +02:00
Michael Schimmel abbce15362 Tail call optimization 2025-09-19 11:53:16 +02:00
Michael Schimmel ef16003971 Refactoring 2025-09-19 09:03:02 +02:00
Michael Schimmel 565742275c Momory hole fixed 2025-09-18 20:37:15 +02:00
Michael Schimmel d12c6c966c Fix in Upvalue-Logic 2025-09-18 20:11:12 +02:00
Michael Schimmel 1be9591a61 Streamlining dataflow 2025-09-18 14:23:19 +02:00
Michael Schimmel 2c55a120f1 RTL and Data value refactoring and defered values 2025-09-18 13:35:25 +02:00
Michael Schimmel ea5879520a Refactoring Binder 2025-09-17 13:34:48 +02:00
Michael Schimmel f5c7121e26 Scalar operators 2025-09-15 17:13:45 +02:00
Michael Schimmel a83d3bf9fc Scalar operators 2025-09-15 16:44:40 +02:00
Michael Schimmel e78ef0a3ea Optimizing captures in Scope 2025-09-15 12:12:23 +02:00
Michael Schimmel c913f9dbc5 Scope Index optimized 2025-09-15 10:39:39 +02:00