Andrew Morris
|
98dde289d9
|
Implement do while loops
|
2022-05-13 12:44:22 +10:00 |
|
Andrew Morris
|
ddda271cb8
|
Split out expression_compiler
|
2022-05-13 12:30:36 +10:00 |
|
Andrew Morris
|
d3aa4ed4fa
|
Split out name_allocator
|
2022-05-13 12:12:46 +10:00 |
|
Andrew Morris
|
2079053642
|
Split out scope
|
2022-05-13 12:10:08 +10:00 |
|
Andrew Morris
|
ed8fc7090d
|
Implement while loops
|
2022-05-13 12:05:34 +10:00 |
|
Andrew Morris
|
f184636c48
|
Implement object expressions
|
2022-05-13 11:41:53 +10:00 |
|
Andrew Morris
|
69616b7769
|
Fix array assembling bug
|
2022-05-13 10:32:59 +10:00 |
|
Andrew Morris
|
c284cc3823
|
Compile array expressions
|
2022-05-13 10:20:02 +10:00 |
|
Andrew Morris
|
ae22a5b542
|
Fill in scope cases where nothing needs to be done
|
2022-05-13 09:44:48 +10:00 |
|
Andrew Morris
|
3d907703c0
|
Fix name reallocation bug and release the cond register
|
2022-05-12 17:22:11 +10:00 |
|
Andrew Morris
|
bdc92adb02
|
Implement if/else
|
2022-05-12 17:11:10 +10:00 |
|
Andrew Morris
|
95a1168bd6
|
Implement block statements
|
2022-05-12 16:24:32 +10:00 |
|
Andrew Morris
|
589d48a2e2
|
Refactor scope population, implement nested vars being at function level
|
2022-05-12 13:56:30 +10:00 |
|
Andrew Morris
|
987b71e4a5
|
Panic when overwriting scope name
|
2022-05-12 13:18:11 +10:00 |
|
Andrew Morris
|
d316ecb2b9
|
Split out compile_fn
|
2022-05-12 13:14:43 +10:00 |
|
Andrew Morris
|
9d3d179ffe
|
Separate out function for compiling statements
|
2022-05-12 13:07:31 +10:00 |
|
Andrew Morris
|
49268e74c6
|
Refactor: separate FunctionCompiler struct
|
2022-05-12 13:03:02 +10:00 |
|
Andrew Morris
|
8b01ed9b4a
|
Fix trailing whitespace
|
2022-05-12 12:36:15 +10:00 |
|
Andrew Morris
|
a4364e71a9
|
Fix main export naming/scoping issue
|
2022-05-12 12:26:22 +10:00 |
|
Andrew Morris
|
15bcfc90b5
|
Implement call expressions
|
2022-05-12 12:08:33 +10:00 |
|
Andrew Morris
|
a455930e58
|
Pass command line arguments to main function
|
2022-05-12 11:16:05 +10:00 |
|
Andrew Morris
|
9945676d46
|
Remove buggy available_register pattern
|
2022-05-12 10:50:57 +10:00 |
|
Andrew Morris
|
1658c19c1d
|
Compile expression statements
|
2022-05-12 10:16:41 +10:00 |
|
Andrew Morris
|
54568ef1e4
|
Use definition allocator
|
2022-05-12 09:27:01 +10:00 |
|
Andrew Morris
|
605905fe7e
|
Support variable declarations
|
2022-05-11 22:29:39 +10:00 |
|
Andrew Morris
|
0343c2bdc4
|
Implement referencing definitions and non-main function definitions
|
2022-05-11 22:00:33 +10:00 |
|
Andrew Morris
|
ecc2b88a31
|
Start populating top-level scope
|
2022-05-11 11:28:37 +10:00 |
|
Andrew Morris
|
fcce4bd15a
|
wip scopes
|
2022-05-11 11:00:08 +10:00 |
|
Andrew Morris
|
5af8af20bd
|
Add stubs for unimplemented declarations
|
2022-05-11 09:38:49 +10:00 |
|
Andrew Morris
|
51a76867c4
|
Implement empty statements
|
2022-05-11 09:32:20 +10:00 |
|
Andrew Morris
|
5c8ad46ef7
|
Add stubs for unimplemented statement types
|
2022-05-11 09:30:25 +10:00 |
|
Andrew Morris
|
e94e30eafc
|
Compile this expressions
|
2022-05-11 09:25:29 +10:00 |
|
Andrew Morris
|
3b23063b8b
|
Implement paren expressions
|
2022-05-11 09:08:37 +10:00 |
|
Andrew Morris
|
8f4b2bd309
|
Split out ExpressionCompiler functions
|
2022-05-11 09:04:32 +10:00 |
|
Andrew Morris
|
70b67e083b
|
Create ExpressionCompiler struct
|
2022-05-11 08:54:48 +10:00 |
|
Andrew Morris
|
ba48082b39
|
Add unary+, unary-
|
2022-05-11 08:41:00 +10:00 |
|
Andrew Morris
|
6fb8ca3846
|
Compile unary operators
|
2022-05-11 08:33:05 +10:00 |
|
Andrew Morris
|
a789a5d0ad
|
Improve register utilization
|
2022-05-06 13:09:53 +10:00 |
|
Andrew Morris
|
2e8cca1b97
|
Avoid end instruction for return statements at the end of functions
|
2022-05-06 12:19:24 +10:00 |
|
Andrew Morris
|
0a1f75e8b3
|
Compile literals without necessarily putting them in registers
|
2022-05-06 12:16:25 +10:00 |
|
Andrew Morris
|
87f1ffbd11
|
Binary operators
|
2022-05-06 11:38:42 +10:00 |
|
Andrew Morris
|
87a7125d8a
|
Support more literals
|
2022-05-06 11:12:20 +10:00 |
|
Andrew Morris
|
208697506a
|
Enable running typescript
|
2022-05-06 11:02:28 +10:00 |
|
Andrew Morris
|
829f464bf2
|
Write to out.vsm
|
2022-05-06 10:53:25 +10:00 |
|
Andrew Morris
|
822d6db8cb
|
Compile string literals
|
2022-05-06 10:43:14 +10:00 |
|
Andrew Morris
|
39bdc0eb52
|
Stub for compiling statements
|
2022-05-06 10:07:01 +10:00 |
|
Andrew Morris
|
218e546b8c
|
Progress on compiling main function
|
2022-05-06 09:34:29 +10:00 |
|
Andrew Morris
|
fb75bcf0f1
|
Name allocations
|
2022-05-06 08:46:13 +10:00 |
|
Andrew Morris
|
b11ea2abdc
|
Get down to main_fn
|
2022-05-06 08:09:03 +10:00 |
|
Andrew Morris
|
b872165e2f
|
wip compiler
|
2022-05-06 08:01:17 +10:00 |
|