samsonium
a4aa220cfa
feat: implement extern block analyzer
2026-10-31 01:58:10 +03:00
samsonium
5c96f96220
wip: working on dynamic linking
...
- Feat: add analyzers for:
- external functions
- reference
- structures
- type definitions
- Feat: add new nodes to debug print (ast)
2026-10-30 20:32:14 +03:00
samsonium
f769313169
feat: implement extern block reading and parsing
2026-10-29 22:13:28 +03:00
samsonium
0448be0d38
ref: update linking example
2026-10-29 20:24:06 +03:00
samsonium
01dabd2bdd
ref: remove build-release dependency from install make target
2026-10-29 20:23:54 +03:00
samsonium
6f54286724
doc: update project building steps
2026-10-29 18:18:50 +03:00
samsonium
fe5fcd7b96
feat: add compiler installation step
...
- Ref: add `-debug` suffix to debug targets
- Ref: remove `-release` suffix from release targets
- Feat: add `make install` command
- Feat: add cmake variables:
- `FZL_TESTS` for enable testing
- `FZL_SKIP_C` to not build the compiler
- `FZL_SKIP_VM` to not build the vm
2026-10-29 18:18:35 +03:00
samsonium
a885746fdd
feat: add object escaping on assing to variable in outer env
2026-10-29 17:46:56 +03:00
samsonium
2cf96d06c6
fix: fmtstring printing
2026-10-29 17:46:20 +03:00
samsonium
bbdf91ee02
fix: cutted space in string literal begin
2026-10-29 17:46:08 +03:00
samsonium
27374a96eb
fix: AST levels print
2026-10-29 17:45:39 +03:00
samsonium
dcab2a8875
feat: add runtime speed comparison between fz, c and cpython
2026-10-29 05:21:31 +03:00
samsonium
7b804b8809
feat: optimize runtime (2x+ faster)
2026-10-29 05:21:00 +03:00
samsonium
eeca5e653d
feat: add benchmar Make target
2026-10-29 03:25:48 +03:00
samsonium
f4c97795fa
feat: optimize VM using dispatch table
2026-10-29 02:59:38 +03:00
samsonium
e2de23ed57
fix: suppress libffi cmake warnings
2026-10-29 00:26:33 +03:00
samsonium
8c90d54782
ref: split parser into separate files
2026-10-29 00:08:44 +03:00
samsonium
62b0030e4a
ref: move analyzer fn defs into compiler/iternals
2026-10-28 23:24:17 +03:00
samsonium
bbdaa4a9b9
ref: split reader into separate files
2026-10-28 23:12:46 +03:00
samsonium
7c04d8b7ec
ref: remove unused loop checker
2026-10-28 23:12:06 +03:00
samsonium
567bf49d27
wip: working on dynamic linking
...
- Feat: add example for wrapping dynamically linked library
- Feat: add new tokens (import, extern, type, handle, struct, ref, out)
2026-10-28 21:43:56 +03:00
samsonium
d93c315359
fix: clear first AST node if got error inside parse_program
2026-10-28 19:37:17 +03:00
samsonium
e11089c90f
feat: implement format strings
2026-10-28 17:57:18 +03:00
samsonium
ea28c470d2
wip: begin dynamic library loading dev
2026-10-28 15:20:58 +03:00
samsonium
70bf63e2ea
feat: add libffi cmake dependency
2026-10-28 00:31:09 +03:00
samsonium
b24cefee96
Merge pull request 'Impl analyzer' ( #5 ) from impl-analyzer into v1.1
...
Reviewed-on: #5
2026-10-27 12:43:08 +00:00
samsonium
6498c73960
ref: move linked list example into tests folder
2026-10-27 15:42:02 +03:00
samsonium
dc80de66e4
fix: review problems
2026-10-27 15:40:25 +03:00
samsonium
c61322718d
fix: some analysis stage problems
2026-10-27 14:12:09 +03:00
samsonium
411d291a2c
feat: add VM protection for classes w/o fields
2026-10-27 12:55:46 +03:00
samsonium
aa7a06bd22
feat: finish implementing analyzer
2026-10-27 12:50:58 +03:00
samsonium
a263b6206f
wip: working on analyzer
...
- Feat: add assigns analysis
- Fix: change node check condition in binary math analysis
- Feat: add unary and binary conditions analysis
- Fix: add type passtrough in declaration analysis
- Feat: add unary math analysis
2026-10-27 12:21:49 +03:00
samsonium
25991c6f15
wip: working on analyzer
...
- Feat: add binary math analysis
- Fix: check for function context in block analysis
- Feat: add 'break' analysis
- Fix: few fixes in call analysis
- Feat: add class analysis
- Feat: add construct analysis
- Feat: add declaration analysis
- Feat: add field analysis
- Feat: add function analysis
- Feat: add loop analysis
- Ref: updated utilities and context functions
2026-10-27 05:18:36 +03:00
samsonium
d7630dbb6a
wip: working on analyzer
...
- Feat: implement return analyzer
- Fix: add block return check if inside function
2026-10-26 22:20:09 +03:00
samsonium
a70ad011f3
wip: working on analyzer
...
- Feat: add `nest_ctx` and `fin_ctx` fns for working with context and
environment
- Feat: add block analyzer
- Feat: add conditional statement analyzer
2026-10-26 21:34:54 +03:00
samsonium
62ae05b4cd
wip: working on analyzer
...
- Feat: now symbols table store node on PUT
- Feat: call analyzer with callee resolving and arguments validate
- Feat: identifier analyzer
- Feat: analyzer utils (types compat, tok-to-type, type-to-string)
2026-10-26 20:47:24 +03:00
samsonium
4904f40037
wip: working on analyzer
2026-10-25 19:24:02 +03:00
samsonium
562b1b2e0a
Merge pull request 'Implement loops' ( #4 ) from feat-loops into v1.1
...
- Fix: memory leaks in parser
- Feat: `for` and `while` loops
- Feat: `break` for exit from loops
- Doc: new examples in `exl` directory
- Feat: optimized tests calling CMakeLists
2026-10-25 02:01:47 +00:00
samsonium
6d1f1ce66e
fix: memory leak in postfix parsing function
2026-10-25 04:57:01 +03:00
samsonium
c03fddf47f
fix: fixes in compiler
2026-10-25 04:52:18 +03:00
samsonium
3bb60071bb
feat: add infinite loop control args
2026-10-25 04:52:07 +03:00
samsonium
04fdd58e4f
fix: fix typo in examples
2026-10-25 04:51:37 +03:00
samsonium
e00e609589
ref: rename 'hard-1' test to 'linked-list'
2026-10-25 01:56:20 +03:00
samsonium
a37b8cfe6e
ref: remove test examples
2026-10-25 01:56:07 +03:00
samsonium
c4eb148d17
ref: temporary comment out infinite loop check
2026-10-25 01:54:49 +03:00
samsonium
dbca3129ab
feat: add "while-not-null" test
2026-10-25 01:54:07 +03:00
samsonium
e3878047d7
upd: rename neg1 tests (for negative in runtime) to negr
2026-10-25 01:53:46 +03:00
samsonium
7cfb8efef4
feat: implement break
2026-10-22 21:30:32 +03:00
samsonium
b5ae959d14
feat: add test name format for runtime-only error
2026-10-22 21:30:17 +03:00
samsonium
0e319308a7
wip: working on infinite loop handling in vm
2026-10-22 20:25:48 +03:00