Commit Graph

  • 052f9191c3 I was bored main IgorCielniak 2026-03-25 13:28:26 +01:00
  • a74c4b8c41 added 'arr_find', 'arr_contains' and did small fixes to 'find' and 'rfind' IgorCielniak 2026-03-25 11:52:45 +01:00
  • d639c63fd3 added 'rfind' IgorCielniak 2026-03-25 11:12:32 +01:00
  • ab613e644a small fix to 'contains' and added 'find' IgorCielniak 2026-03-25 11:05:55 +01:00
  • 75b01b9635 added contains, 3dup and 4dup IgorCielniak 2026-03-25 10:38:43 +01:00
  • b263e7d0de added startswith and endswith IgorCielniak 2026-03-25 10:10:14 +01:00
  • bc3a894737 added trim functions IgorCielniak 2026-03-25 08:59:35 +01:00
  • e8271895fb fixed a mistake in a stack effect comment IgorCielniak 2026-03-24 16:35:00 +01:00
  • 0477e4c10d Small fixes to SPEC.md, its still shit btw IgorCielniak 2026-03-24 15:52:40 +01:00
  • 9fbba4eefb sketch for the termios library igor 2026-03-23 10:00:10 +01:00
  • 44a49d17d5 Add .gitattributes IgorCielniak 2026-03-21 16:10:30 +01:00
  • 2055aa3b1f renamed some functions in stdlib/arr.sl and made examples/snake.sl use the functions from stdlib/arr.sl instead of custom ones IgorCielniak 2026-03-21 14:03:39 +01:00
  • 5dd361e563 added strdup IgorCielniak 2026-03-20 21:23:45 +01:00
  • e2159bbca2 added memset_bytes, fixed some stack comments, fixed splitby_char and finally implemented splitby_str so splitby if now fully functional IgorCielniak 2026-03-20 21:09:44 +01:00
  • f4d688cac1 small fixes igor 2026-03-20 15:37:12 +01:00
  • 4508433206 added 'ret' and implemented a proper 'strcmp' IgorCielniak 2026-03-19 13:29:49 +01:00
  • cda34e61bd added some functions to the stdlib igor 2026-03-18 15:27:01 +01:00
  • 78bf6c132f added an option to redefine control structures igor 2026-03-16 10:30:53 +01:00
  • fd030be086 added a snake game example and fixed a small bug in the compiler IgorCielniak 2026-03-14 12:44:34 +01:00
  • 2193e0bf3c small consistency fix in linux.sl IgorCielniak 2026-03-13 19:49:56 +01:00
  • fd115f31dc small update to linux.sl and the syscall instruction, including some small optimizations IgorCielniak 2026-03-13 19:42:15 +01:00
  • 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 igor 2026-03-11 21:27:48 +01:00
  • 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 igor 2026-03-11 14:41:40 +01:00
  • 4e51e8803f improved the repl igor 2026-03-09 16:10:02 +01:00
  • 4f6fd946f6 added cimport for including C headers igor 2026-03-09 14:45:43 +01:00
  • 19cae8c56d adjusted the type checker to properly process strings igor 2026-03-09 14:24:31 +01:00
  • d65b05f1d2 small fix to the function responsible for hashing the compiler flags igor 2026-03-09 14:18:11 +01:00
  • 2a1ae2f774 compiler: add -O0/-O2 flags, -v 1..4, whole-word JIT, lazy init, auto-inline control igor 2026-03-09 14:04:45 +01:00
  • 819e451512 added an implementation of Conway's game of life as en example igor 2026-03-03 09:48:52 +01:00
  • 269055be5f added more extensive peephole optimizations igor 2026-03-02 14:44:49 +01:00
  • 4a5dd89932 update the the cfg generation igor 2026-03-02 14:05:00 +01:00
  • 7faafe9df0 added an option to generate a basic control flow graph for graphviz igor 2026-03-02 13:40:51 +01:00
  • 13f33d7820 added better support for structs for extern functions, added a flag to disable list folding and made extern functions automaticly have priority 1 igor 2026-03-02 10:21:42 +01:00
  • 86d4ffbb9a fixed dce with user defined _start igor 2026-02-27 08:47:41 +01:00
  • 95cf89cdf5 extended the extern support igor 2026-02-26 11:01:38 +01:00
  • c5cdd5a7fd added the option to customize _start igor 2026-02-25 16:58:31 +01:00
  • 1fed85bc0a small fix in the stack effect comments igor 2026-02-20 21:09:40 +01:00
  • 2740fbe219 small fix igor 2026-02-20 15:21:57 +01:00
  • c4b15e0666 implemented quick sort, ported the repl to run on the ct vm and added some more optimizations igor 2026-02-20 15:03:49 +01:00
  • 461ab1802a added caching igor 2026-02-20 08:55:07 +01:00
  • 97f3df3836 update to the doc tool and to arr.sl igor 2026-02-19 16:14:41 +01:00
  • 2b311c7be7 update to the sorting functions and small fix to the compiler it self igor 2026-02-19 10:42:53 +01:00
  • f3de51f5d8 update igor 2026-02-18 16:05:48 +01:00
  • cd1df4b18d added a priority system igor 2026-02-18 14:34:35 +01:00
  • 5030138f30 optimizations igor 2026-02-18 14:18:41 +01:00
  • b0de836beb general update igor 2026-02-18 13:58:08 +01:00
  • 6c34602ead extended the test for dynamic arrays igor 2026-02-18 12:22:16 +01:00
  • 8bb292f49b added function pointers igor 2026-02-18 10:59:37 +01:00
  • 28bc0e3842 changed the macro args to start from 0 igor 2026-02-18 09:45:13 +01:00
  • 9732f0e74a added --no-artifact and --script and a small fix to the syscall word igor 2026-02-18 08:48:30 +01:00
  • e95244c7f3 update to the ct vm IgorCielniak 2026-02-17 20:39:13 +01:00
  • adfc941538 added formating functions IgorCielniak 2026-02-17 12:59:34 +01:00
  • 2fb994a3ee small update to the test script IgorCielniak 2026-02-17 08:50:20 +01:00
  • f4c3dca436 added option to test the compatibility of the compile time vm with the actual runtime behaviour igor 2026-02-16 16:06:43 +01:00
  • 1b21a0b18b made test.py cross platform igor 2026-02-16 14:42:53 +01:00
  • 81ee4a8ff9 refactored the testing system, fixed fput and removed arr_asm.sl igor 2026-02-16 14:32:13 +01:00
  • 02f54b8f86 draft of the c version of the compiler IgorCielniak 2026-02-16 09:20:34 +01:00
  • a3c68860a7 added get_addr and jmp IgorCielniak 2026-02-12 17:39:05 +01:00
  • 709377a45b small fix in arr.sl IgorCielniak 2026-02-10 17:47:59 +01:00
  • 2b48e2d7e6 added loop unroling IgorCielniak 2026-02-10 15:18:30 +01:00
  • 2f5b1f40b1 added a function to convert the buildt in array to a dynamic array IgorCielniak 2026-02-10 11:31:39 +01:00
  • 08892c97bb added basic constant folding IgorCielniak 2026-02-07 21:06:01 +01:00
  • a8908819c4 added the option to compile in to .so and .a IgorCielniak 2026-02-07 20:49:24 +01:00
  • bf4d11d313 added fdump and frdump for dumping the stack in the new format IgorCielniak 2026-02-06 10:46:48 +01:00
  • 5fb36ac9bc standardized the system of stack effect comments and updated/corrected the existing comments in stdlib and added some that were lacking IgorCielniak 2026-02-05 21:36:03 +01:00
  • 2d06358e24 made tests run on arm with qemu-x86_64 IgorCielniak 2026-02-04 09:55:07 +01:00
  • 1652692176 slight fixes to cte IgorCielniak 2026-02-04 08:52:14 +01:00
  • ac4c55cb8e some additions to core and test for them IgorCielniak 2026-02-03 18:43:04 +01:00
  • c2fcaf8f8d ported dynamic arrays and strlen to l2 IgorCielniak 2026-02-03 09:41:11 +01:00
  • 2b78ca671c rule110 IgorCielniak 2026-02-03 09:03:44 +01:00
  • 5ea020100e implemented realloc as well as a bunch of fixes and some small changes like changing the order of arguments for !, making alloc drop etc. IgorCielniak 2026-02-02 15:51:58 +01:00
  • ec826c31b2 changed the label generation logick to avoid the word_ prefix IgorCielniak 2026-02-02 12:22:22 +01:00
  • dfc88c20eb small update IgorCielniak 2026-01-31 22:18:41 +01:00
  • ff6af0b783 update to structs IgorCielniak 2026-01-21 14:26:30 +01:00
  • 805f8e26a5 added more debug info when compiling in debug mode, now the debug info contains mapping to the original .sl file IgorCielniak 2026-01-18 19:55:59 +01:00
  • 725fec9d73 added a simple effect system to avoid the hack with mentioning 'print_buf' in in comments inside of for ex. print IgorCielniak 2026-01-16 11:59:41 +01:00
  • 6ea160b388 update to the C FFI IgorCielniak 2026-01-13 18:41:05 +01:00
  • fa6e42292d proper cleanup of the return stack in the toint function IgorCielniak 2026-01-13 09:26:05 +01:00
  • a195e2b7cf added elif IgorCielniak 2026-01-12 19:51:52 +01:00
  • ce7944916a update to the SPEC.md IgorCielniak 2026-01-12 19:32:13 +01:00
  • 47a45c050e quite a few fixes, overall repo cleanup and some restructurization in the stdlib IgorCielniak 2026-01-12 19:03:49 +01:00
  • 3f87f12cf1 small fixes to typeconversion.sl IgorCielniak 2026-01-12 18:36:34 +01:00
  • 707095c84b added tostr IgorCielniak 2026-01-12 14:54:48 +01:00
  • 4fe4d26511 added abs to stdlib.sl and made a toint function, I'm gonna kms IgorCielniak 2026-01-12 10:32:25 +01:00
  • 155b0eae07 added rdump to debug.sl for dumping the return stack IgorCielniak 2026-01-12 08:47:42 +01:00
  • fc67639aa5 fixed a small bug in tests/alloc.sl IgorCielniak 2026-01-12 08:42:54 +01:00
  • 77594f45f4 rewritten 'sh' inside nob.sl from asm to l2 code, renamed strcpy to memcpy and put it in mem.sl IgorCielniak 2026-01-11 19:26:39 +01:00
  • 8139aa66d9 make 'inline' come before 'word' instead of after the function definition IgorCielniak 2026-01-10 22:19:55 +01:00
  • 88ee10face added an alternate way to use the 'write' syscall that doesn't require any libraries at all IgorCielniak 2026-01-09 15:51:04 +01:00
  • e967e0d044 initial version of nob.sl IgorCielniak 2026-01-09 15:45:36 +01:00
  • c31d8b93ce added a repl IgorCielniak 2026-01-09 15:14:49 +01:00
  • 315ad9ef77 another small update to error reporting IgorCielniak 2026-01-09 12:33:55 +01:00
  • 95f6c1dac5 small improvement for error reporting IgorCielniak 2026-01-09 12:29:08 +01:00
  • c3490a37ae added compile time intrinsics that allow for modification of the prelude and bss section IgorCielniak 2026-01-09 12:22:00 +01:00
  • 0acf5555a8 added goto IgorCielniak 2026-01-09 11:10:18 +01:00
  • 8466664637 added inline functions IgorCielniak 2026-01-09 11:01:24 +01:00
  • f2af252bc4 added dead code elimination IgorCielniak 2026-01-09 10:42:13 +01:00
  • d62f2fe02d introduced direct ability to call syscalls and linux.sl IgorCielniak 2026-01-08 20:56:36 +01:00
  • 2f60555d22 moved hello.sl to tests IgorCielniak 2026-01-08 19:12:55 +01:00
  • f7b08afdcb implemented 'here' IgorCielniak 2026-01-08 19:04:29 +01:00