IgorCielniak
052f9191c3
I was bored
2026-03-25 13:28:26 +01:00
IgorCielniak
a74c4b8c41
added 'arr_find', 'arr_contains' and did small fixes to 'find' and 'rfind'
2026-03-25 11:52:45 +01:00
IgorCielniak
d639c63fd3
added 'rfind'
2026-03-25 11:12:32 +01:00
IgorCielniak
ab613e644a
small fix to 'contains' and added 'find'
2026-03-25 11:05:55 +01:00
IgorCielniak
75b01b9635
added contains, 3dup and 4dup
2026-03-25 10:38:43 +01:00
IgorCielniak
b263e7d0de
added startswith and endswith
2026-03-25 10:10:14 +01:00
IgorCielniak
bc3a894737
added trim functions
2026-03-25 08:59:35 +01:00
IgorCielniak
e8271895fb
fixed a mistake in a stack effect comment
2026-03-24 16:35:00 +01:00
IgorCielniak
0477e4c10d
Small fixes to SPEC.md, its still shit btw
2026-03-24 15:52:40 +01:00
igor
9fbba4eefb
sketch for the termios library
2026-03-23 10:00:10 +01:00
44a49d17d5
Add .gitattributes
2026-03-21 16:10:30 +01:00
IgorCielniak
2055aa3b1f
renamed some functions in stdlib/arr.sl and made examples/snake.sl use the functions from stdlib/arr.sl instead of custom ones
2026-03-21 14:03:39 +01:00
IgorCielniak
5dd361e563
added strdup
2026-03-20 21:23:45 +01:00
IgorCielniak
e2159bbca2
added memset_bytes, fixed some stack comments, fixed splitby_char and finally implemented splitby_str so splitby if now fully functional
2026-03-20 21:09:44 +01:00
igor
f4d688cac1
small fixes
2026-03-20 15:37:12 +01:00
IgorCielniak
4508433206
added 'ret' and implemented a proper 'strcmp'
2026-03-19 13:29:49 +01:00
igor
cda34e61bd
added some functions to the stdlib
2026-03-18 15:27:01 +01:00
igor
78bf6c132f
added an option to redefine control structures
2026-03-16 10:30:53 +01:00
IgorCielniak
fd030be086
added a snake game example and fixed a small bug in the compiler
2026-03-14 12:44:34 +01:00
IgorCielniak
2193e0bf3c
small consistency fix in linux.sl
2026-03-13 19:49:56 +01:00
IgorCielniak
fd115f31dc
small update to linux.sl and the syscall instruction, including some small optimizations
2026-03-13 19:42:15 +01:00
igor
ecf90feab9
general update, updated cimport so it parses struct definitions from imported headers, improved the error reporting, added ifdef and ifndef, added proper support for extern variadic functions, added some new sections and pages to the doc tool and added --check to only check the program corectness and run compile time defs without producing a binary
2026-03-11 21:27:48 +01:00
igor
0ac7f26a18
added async and hashmap lib to the stdlib as well as tests for them, improved the performance of the compiler, improved the buildt in doc tool and fixed some other small issues
2026-03-11 14:41:40 +01:00
igor
4e51e8803f
improved the repl
2026-03-09 16:10:02 +01:00
igor
4f6fd946f6
added cimport for including C headers
2026-03-09 14:45:43 +01:00
igor
19cae8c56d
adjusted the type checker to properly process strings
2026-03-09 14:24:31 +01:00
igor
d65b05f1d2
small fix to the function responsible for hashing the compiler flags
2026-03-09 14:18:11 +01:00
igor
2a1ae2f774
compiler: add -O0/-O2 flags, -v 1..4, whole-word JIT, lazy init, auto-inline control
...
- Add -O0 (no opts) and -O2 (no opts + no checks) CLI flags
- Add -v 1..4 verbosity: timing, per-function stats, debug dump, optimization diffs
- Whole-word JIT: compile Definition bodies to native x86-64 for CT VM
- Lazy CTMemory/JIT/ctype init (defer ctypes until first CT execution)
- Stack-effect comment parsing for stack-checks
- Peephole rules refactored to module-level dicts with O(1) lookup
- _emitted_start short-circuit (O(1) vs O(n) scan)
- Add --no-auto-inline to disable auto-inlining of small asm bodies
- Fix --ct-run-main to execute after linking (prevent SIGSEGV)
- Stdlib: small optimizations like swap + drop -> nip
2026-03-09 14:04:45 +01:00
igor
819e451512
added an implementation of Conway's game of life as en example
2026-03-03 09:48:52 +01:00
igor
269055be5f
added more extensive peephole optimizations
2026-03-02 14:44:49 +01:00
igor
4a5dd89932
update the the cfg generation
2026-03-02 14:05:00 +01:00
igor
7faafe9df0
added an option to generate a basic control flow graph for graphviz
2026-03-02 13:40:51 +01:00
igor
13f33d7820
added better support for structs for extern functions, added a flag to disable list folding and made extern functions automaticly have priority 1
2026-03-02 10:21:42 +01:00
igor
86d4ffbb9a
fixed dce with user defined _start
2026-02-27 08:47:41 +01:00
igor
95cf89cdf5
extended the extern support
2026-02-26 11:01:38 +01:00
igor
c5cdd5a7fd
added the option to customize _start
2026-02-25 16:58:31 +01:00
igor
1fed85bc0a
small fix in the stack effect comments
2026-02-20 21:09:40 +01:00
igor
2740fbe219
small fix
2026-02-20 15:21:57 +01:00
igor
c4b15e0666
implemented quick sort, ported the repl to run on the ct vm and added some more optimizations
2026-02-20 15:03:49 +01:00
igor
461ab1802a
added caching
2026-02-20 08:55:07 +01:00
igor
97f3df3836
update to the doc tool and to arr.sl
2026-02-19 16:14:41 +01:00
igor
2b311c7be7
update to the sorting functions and small fix to the compiler it self
2026-02-19 10:42:53 +01:00
igor
f3de51f5d8
update
2026-02-18 16:05:48 +01:00
igor
cd1df4b18d
added a priority system
2026-02-18 14:34:35 +01:00
igor
5030138f30
optimizations
2026-02-18 14:18:41 +01:00
igor
b0de836beb
general update
2026-02-18 13:58:08 +01:00
igor
6c34602ead
extended the test for dynamic arrays
2026-02-18 12:22:16 +01:00
igor
8bb292f49b
added function pointers
2026-02-18 10:59:37 +01:00
igor
28bc0e3842
changed the macro args to start from 0
2026-02-18 09:45:13 +01:00
igor
9732f0e74a
added --no-artifact and --script and a small fix to the syscall word
2026-02-18 08:48:30 +01:00