74 Commits
Author SHA1 Message Date
samsonium 80f07dc7c6 doc: fix typo in philosophy doc name 2026-10-21 02:29:27 +03:00
samsonium c43b5dfef0 feat: translate doc to en, add index files 2026-10-19 21:34:12 +03:00
samsonium 195b82408b doc: add 'basics-and-types' doc 2026-10-19 21:23:44 +03:00
samsonium 5e58ea1796 Merge branch 'master' into docs 2026-10-19 20:11:53 +03:00
samsonium 1e518c4c82 fix: sanitizer checks fix (iteration 3 - final) 2026-10-19 20:11:48 +03:00
samsonium 3f2f03f931 fix: sanitizer checks fix (iteration 2) 2026-10-19 19:54:11 +03:00
samsonium 1289f6c150 fix: sanitizer checks fix (iteration 1) 2026-10-19 19:41:39 +03:00
samsonium 04b367e7a0 fix: warnings fix (after -Wall -Wextra) 2026-10-19 18:39:40 +03:00
samsonium d09468cc6b fix: critical fixes for newer compiler versions
- Add token check before parsing statement or program
- Fix program freeing
2026-10-19 17:50:31 +03:00
samsonium d22b4009b0 doc: add stacks doc 2026-10-19 17:24:40 +03:00
samsonium a8d42f86c4 doc: add operators and types_system docs 2026-10-19 16:49:07 +03:00
samsonium a3319cd3be doc: add builtins and errors_print documents 2026-10-19 14:23:45 +03:00
samsonium a6d21a65cb doc: add full EBDF grammar 2026-10-19 12:02:10 +03:00
samsonium 2d006d5e2b ref: remove old docs variant 2026-10-19 12:01:59 +03:00
samsonium 81d07aa6e5 doc: add book,internal,reference,builtins sections 2026-10-19 11:11:43 +03:00
samsonium 306be6b82d feat: add first two book topics 2026-10-19 04:05:00 +03:00
samsonium c2532ae11f upd: update usage hint in vm and compiler 2026-10-19 04:04:32 +03:00
samsonium 345d711570 feat: add ru docs 2026-10-19 03:15:35 +03:00
samsonium 801b28e27d feat: implement address deferencing 2026-10-18 18:42:02 +03:00
samsonium c0df5fc9d4 feat: add exit builtin function 2026-10-18 18:41:49 +03:00
samsonium f0e641928d upd: add exit on error in examples 2026-10-18 18:40:48 +03:00
samsonium dce64e8b4d fix+ref: small objects rework
- Add nested objects escape on ESCAPE opcode
- Stabilize objects work in heap
2026-10-18 17:38:49 +03:00
samsonium 0c8c206677 upd: update tests 2026-10-18 17:37:18 +03:00
samsonium d33aa57f8e feat: add first hard example
Hard example tests all actual language features. For now its:
- Classes
- Methods
- Recursive calls
- Object move and borrowing
2026-10-17 21:57:04 +03:00
samsonium 82b6cc3346 feat: add support for null-values 2026-10-17 21:56:08 +03:00
samsonium 244dd33372 feat: new debug print on exception! 2026-10-17 21:55:52 +03:00
samsonium c0c90f4f1a fix: clear fn return type value 2026-10-17 21:24:21 +03:00
samsonium 8c33464656 feat: add null as value token 2026-10-17 21:23:50 +03:00
samsonium ce13d24985 upd: optimize gdbinit script 2026-10-17 20:21:08 +03:00
samsonium b48c196509 upd: new test in borrow-move example 2026-10-17 20:20:54 +03:00
samsonium f1e97b94a4 fix: fix toke->value assign on name-not-found error 2026-10-17 20:20:10 +03:00
samsonium 645120eda6 feat: implement objects moving and borrowing 2026-10-17 19:24:03 +03:00
samsonium c643f200a1 upd: update READMEs 2026-10-16 18:31:19 +03:00
samsonium 4e7d09cfa9 fix: add objects cleanup after execution 2026-10-16 18:31:10 +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 36ed86b07c feat: add tests 2026-10-15 03:07:20 +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 4a908f9fd8 upd: update README 2026-10-14 01:09:55 +03:00
samsonium c0dc14a0c7 feat: finished variables declaration / assign 2026-10-14 01:00:01 +03:00
samsonium 7e52c671aa upd: add printline for string example 2026-10-14 00:59:31 +03:00
samsonium 8043c30d9d fix: add separate assign to identifier statement 2026-10-12 17:29:52 +03:00
samsonium b8769ac81c fix: reader lines counter fix 2026-10-12 17:21:34 +03:00
samsonium d86d95f4fa fix: add missing breaks in walker switch-block 2026-10-12 17:20:59 +03:00
samsonium e7573743aa feat: implement environment table for vm 2026-10-12 17:20:41 +03:00
samsonium 2c76277a68 wip: working on variables 2026-10-11 19:11:49 +03:00
samsonium 01afe2e972 upd: add hint in fzl_vm 2026-10-11 09:22:33 +03:00
samsonium 83e20d78f3 feat+ref: refactor + new types 2026-10-11 08:51:54 +03:00
samsonium e3b8ec6b7d upd: update fmt
Add rules for more comfortable work with switch-case blocks
2026-10-11 08:51:05 +03:00
samsonium 028c8270f7 ref: merge stack and arg_stack into single stack 2026-10-11 06:00:26 +03:00
samsonium e01bf6e4ab feat: add README 2026-10-11 03:59:19 +03:00
samsonium 96cd855c5d upd: change binary file default output extension 2026-10-11 03:59:15 +03:00
samsonium 8696d5bfe7 feat: implement math in vm 2026-10-11 03:12:35 +03:00
samsonium 4577b541c3 feat: add debug-vm target 2026-10-11 03:12:27 +03:00
samsonium b9c43c6ad2 feat: implement math in compiler 2026-10-11 02:10:54 +03:00
samsonium 981603105b feat: add math example 2026-10-11 02:10:37 +03:00
samsonium a815cd1549 feat: add debug target 2026-10-11 02:10:30 +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 f49a54c878 upd+feat: change source file ext, add new examples
- UPD: now using `.fzs` (fromzero-source) file extension instead of
`.fzc`
- FEAT: add new examples: problematic hello world with unterminated
string and empty printline
2026-10-10 20:57:28 +03:00
samsonium 3f76cdcefb wip: wokring on grammar and spec 2026-10-10 20:55:39 +03:00
samsonium 92ec929e9f fix: help hint and --h/-h flags 2026-10-10 19:47:53 +03:00
samsonium cdf929dfc4 feat: implement vm 2026-10-10 05:38:16 +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 7744a28a12 feat: add compile commands export for clangd 2026-10-09 23:01:36 +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
samsonium a46f79d538 upd: add example program 2026-10-09 15:30:30 +03:00
samsonium fc30746ea8 initial commit 2026-10-09 15:29:31 +03:00