Commit graph

144 commits

Author SHA1 Message Date
janis c9c3f239c8
fixes 2026-06-05 08:15:21 +02:00
janis 654c14d92b
elf helper (linker?) program 2026-06-05 07:01:48 +02:00
janis 79a4c65df3
change formatting 2026-06-05 05:22:59 +02:00
janis 52d2466eb5
encode offsets 2026-06-05 05:19:57 +02:00
janis f6ffba2460
calculated offsets 2026-06-05 04:32:19 +02:00
janis 0c81162553
move hex1 to its own stage 2026-06-05 02:46:58 +02:00
janis 0d6ed8a318
change hex0 comments to be ; instead of # 2026-06-05 02:45:33 +02:00
janis c2934ffd50
hex1 assembly works 2026-06-05 02:42:44 +02:00
janis 7472eb1279
fix so nasm can compile for testing 2026-06-05 01:24:51 +02:00
janis 44d5e95970
asdf 2026-06-05 00:09:02 +02:00
janis 6f76735710
stage 1 hex 2026-06-04 23:22:49 +02:00
janis 6b6bacd9dd
works 2026-06-04 08:09:14 +02:00
janis 6f516bbb93
almost works! 2026-06-04 08:05:40 +02:00
janis a9d96063f6
fix jmp rel again 2026-06-04 07:44:45 +02:00
janis 855893ee09
fix jmp rels 2026-06-04 07:16:30 +02:00
janis bce8e8356f
hex0 stage 2026-06-04 05:57:39 +02:00
janis 00b56875f9
nix flake update 2026-06-04 03:26:50 +02:00
janis 04044a78ff
tests for alloc,vec,tokeniser 2025-11-14 12:59:31 +01:00
janis 7bc3c14095
move tests to use cargo 2025-11-13 14:39:45 +01:00
janis ae2cf5f9d3
idk? 2025-11-08 15:43:22 +01:00
janis 32b8e84891
use cargo 2025-11-06 15:31:55 +01:00
janis fe350da24d
as expr (tree walk) 2025-11-05 15:45:16 +01:00
janis 192c123373
as expression (<prefix-expr> as <type>), more types in ast 2025-11-04 16:51:59 +01:00
janis 07dcaf6a64
vec_push returns inserted index 2025-11-04 16:51:50 +01:00
janis fd8a1f74bf
can actually call functions!!!!!!!!!! 2025-11-04 02:12:33 +01:00
janis 22d85c1473
update vec to use bump allocator, update bump allocator to use mmap for its vec growing 2025-11-04 01:54:51 +01:00
janis d276dd9d88
codegen call expr attempt 1 2025-11-03 23:39:15 +01:00
janis b1b48813d2
can parse call expressions 2025-11-03 21:53:25 +01:00
janis 9abd3f0f69
parsing function call 2025-11-03 21:24:02 +01:00
janis a90a01bc28
more comparison operators 2025-11-03 20:32:23 +01:00
janis 0e25f627a8
can codegen if/else 2025-11-03 20:07:51 +01:00
janis 4f5579b6fd
lints 2025-11-03 17:06:00 +01:00
janis 3526f9d59d
fix stack var logic error 2025-11-03 17:04:11 +01:00
janis 07eeed7cff
can do very cool stuff! 2025-11-03 16:35:46 +01:00
janis 52cfc7dc54
yippie? 2025-11-03 15:16:18 +01:00
janis 8508018b0a
sete doesn't work like that! 2025-11-03 01:02:36 +01:00
janis 8e1af956b0
it doesn't crash (crazy) 2025-11-03 00:54:34 +01:00
janis a93f7edd62
deref needs a value 2025-11-02 18:12:29 +01:00
janis f5188053e7
operands and placeness are hard 2025-11-02 17:49:27 +01:00
janis d46837903b
dangerous: resize width field on Operand 2025-11-02 17:27:30 +01:00
janis 6dff42cfa5
var decl/ varref codegen 2025-11-02 16:49:46 +01:00
janis 6ebc6afb2b
codegen for binop 2025-11-02 01:07:37 +01:00
janis b9712dacfb
fix ast gen with nested binary ops 2025-11-02 00:30:00 +01:00
janis a0f4b56c64
skip_token method 2025-11-02 00:29:45 +01:00
janis c0dc1361ae
add more tokens 2025-11-02 00:00:22 +01:00
janis 9cb3331f60
method for pushing/poping registers before calling functions 2025-11-01 18:24:37 +01:00
janis 0436b23361
remove test line 2025-11-01 17:57:11 +01:00
janis 0be7ffba5a
change move_dst_src to call itself and use rax as a scratch register rather than xchging because immediate values 2025-11-01 17:51:46 +01:00
janis 703aa299c8
split current_stack_size u64 into current/max u32 to allow deallocating the top stack allocation 2025-11-01 17:39:17 +01:00
janis 16bdac93ad
free operands after use 2025-11-01 16:43:26 +01:00