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 |
|
janis
|
ecb4a83153
|
allocate/free operand methods
|
2025-11-01 16:18:01 +01:00 |
|
janis
|
ea4611111b
|
remove strange file and print source in codegen test
|
2025-11-01 03:09:46 +01:00 |
|
janis
|
2ca60ace59
|
codegen working? pogU?
|
2025-11-01 03:01:48 +01:00 |
|
janis
|
105c052e95
|
more fixes for codegen
|
2025-11-01 02:50:39 +01:00 |
|
janis
|
a25dcdabbb
|
many small fixes
|
2025-11-01 01:41:13 +01:00 |
|
janis
|
e43424b780
|
fix int_to_str2 for 0
|
2025-11-01 01:41:05 +01:00 |
|
janis
|
dae2e00569
|
fix vec_insert_many
|
2025-11-01 00:28:59 +01:00 |
|
janis
|
1adeca36ec
|
vec_insert_many
|
2025-11-01 00:08:44 +01:00 |
|
janis
|
9509931bc2
|
safety commit
|
2025-10-31 22:14:44 +01:00 |
|
janis
|
d144537c3b
|
insert stackvar sorted
|
2025-10-31 17:19:19 +01:00 |
|
janis
|
da2a298baf
|
get-register-name from width and index
|
2025-10-31 17:14:20 +01:00 |
|
janis
|
d793a3251f
|
init stack vec, push rplogue
|
2025-10-31 16:11:33 +01:00 |
|
janis
|
e3e0d6843f
|
fix issues with initial codegen
|
2025-10-31 16:03:28 +01:00 |
|
janis
|
d5de30d9e7
|
initial codegen
|
2025-10-31 15:49:10 +01:00 |
|
janis
|
6bdd2ef18a
|
export display/debug impls for ast to ast_debug.rs
|
2025-10-31 15:48:53 +01:00 |
|
janis
|
c7f026a678
|
fix vec extend
|
2025-10-31 15:19:26 +01:00 |
|
janis
|
9b4d42ba3a
|
export ast defs to .inc file
|
2025-10-31 15:07:17 +01:00 |
|
janis
|
555f79f00e
|
args are var syms, recursively search parent scopes for symbols
|
2025-10-31 14:53:31 +01:00 |
|
janis
|
d754f8c4b9
|
use trampoline to aign stack for call to rust panic
|
2025-10-31 14:52:59 +01:00 |
|
janis
|
402d295fff
|
block is a scope
|
2025-10-31 14:26:23 +01:00 |
|
janis
|
94d5d9e15b
|
uncommenting test stuff
|
2025-10-31 14:19:21 +01:00 |
|
janis
|
c52b7ab8de
|
block as statement
|
2025-10-31 14:18:49 +01:00 |
|
janis
|
6041ec5102
|
flake: rr
|
2025-10-31 14:18:30 +01:00 |
|
janis
|
1201a6c45a
|
comments, skip empty semis in blocks
|
2025-10-31 13:17:47 +01:00 |
|
janis
|
e79af01925
|
ast: correctly resolves var refs
|
2025-10-31 01:55:04 +01:00 |
|
janis
|
935a3e0a53
|
fix odd initial scope (is now -1usize)
|
2025-10-31 01:20:19 +01:00 |
|
janis
|
cd04a5a4ca
|
try to redo scopes/symtable with passed down scope
|
2025-10-31 01:15:28 +01:00 |
|
janis
|
cd5b714051
|
fix return statement push op
|
2025-10-31 01:11:03 +01:00 |
|
janis
|
a769fece84
|
pass scope in walk_for_each
|
2025-10-31 00:58:27 +01:00 |
|
janis
|
746f82f732
|
try to resolve var refs
|
2025-10-30 23:28:31 +01:00 |
|
janis
|
928be75faf
|
sort symkey by ident before span
|
2025-10-30 23:00:36 +01:00 |
|
janis
|
adb30e983c
|
ast node: span
|
2025-10-30 22:54:14 +01:00 |
|
janis
|
56354237c6
|
build symbol table
|
2025-10-30 22:16:45 +01:00 |
|
janis
|
ad3b0205c2
|
ast walking
|
2025-10-30 21:41:27 +01:00 |
|
janis
|
525b78cdf4
|
pointer type
|
2025-10-30 14:35:49 +01:00 |
|
janis
|
e54313b6a2
|
args, var-ref
|
2025-10-30 13:48:08 +01:00 |
|