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
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
7cfb8efef4
feat: implement break
2026-10-22 21:30:32 +03:00
samsonium
cc5bbd61f2
feat: implement loops
2026-10-22 18:24:28 +03:00
samsonium
04b367e7a0
fix: warnings fix (after -Wall -Wextra)
2026-10-19 18:39:40 +03:00
samsonium
8c33464656
feat: add null as value token
2026-10-17 21:23:50 +03:00
samsonium
bc5d887ec4
feat: implement objects and classes
2026-10-16 18:11:28 +03:00
samsonium
683dd08181
wip: working on classes
2026-10-15 21:41:45 +03:00
samsonium
69b2253c34
feat: enhance compiler
...
- Add comments and test for it
- Add semicolon as required end of some expressions
- Add new arguments parser
- Add multi-file compilation
- Add colors in output
2026-10-15 17:20:43 +03:00
samsonium
1035b9193c
feat: add comments
2026-10-15 15:52:47 +03:00
samsonium
2c206822ca
feat: implement functions
2026-10-15 02:23:43 +03:00
samsonium
cc3087296f
ref: remove backpatch table in walker
2026-10-14 20:10:37 +03:00
samsonium
83ff0b5774
feat: implement conditions
2026-10-14 19:56:27 +03:00
samsonium
c0dc14a0c7
feat: finished variables declaration / assign
2026-10-14 01:00:01 +03:00
samsonium
2c76277a68
wip: working on variables
2026-10-11 19:11:49 +03:00
samsonium
83e20d78f3
feat+ref: refactor + new types
2026-10-11 08:51:54 +03:00
samsonium
8696d5bfe7
feat: implement math in vm
2026-10-11 03:12:35 +03:00
samsonium
b9c43c6ad2
feat: implement math in compiler
2026-10-11 02:10:54 +03:00
samsonium
1db985ecb5
feat+fix: make compiler STRONGAAA
...
- FEAT: add source code length field in `fzl_reader_t` struct
- FIX: check name, lpair (lparen) and rpair (rparen) when lexing call
- FIX: check string literal termination
- FIX: increment position even on empty string to prevent infinite
lexing loop
- FIX: add string terminator in `fzl_mktoken` when allocating space for
string value
- FIX: add check for errors in recursevly called `walk`
- FIX: change source code holder from stack-stored `char[8192]` to
dynamically allocated with actual file size holder
- FIX: correct constant hasing util to hash actual string value instead
of link
2026-10-10 21:03:23 +03:00
samsonium
96115b347e
feat: implement file writer
2026-10-10 03:56:00 +03:00
samsonium
e979a22739
feat: implement AST walker
2026-10-10 02:40:53 +03:00
samsonium
2fabd0ec2d
feat: add AST freeing function
2026-10-09 23:46:17 +03:00
samsonium
1d7cc88c22
feat: add code style rules
2026-10-09 23:01:19 +03:00
samsonium
45206e3d07
feat: implement lexer+parser for example program
2026-10-09 15:30:50 +03:00