Commit Graph

132 Commits

Author SHA1 Message Date
Andrew Morris
1586faad56 shake_tree 2023-03-09 14:14:51 +11:00
Andrew Morris
8548733f05 PointerVisitation 2023-03-09 13:47:22 +11:00
Andrew Morris
27fcd10f8f collapse_pointers_of_pointers 2023-03-09 13:08:14 +11:00
Andrew Morris
9917b32903 Use visitor pattern for updating pointers 2023-03-09 12:56:58 +11:00
Andrew Morris
5244987f89 Link modules for vstc compile (almost works) 2023-03-09 12:19:53 +11:00
Andrew Morris
5e95be162e wip gather and link 2023-03-08 22:29:58 +11:00
Andrew Morris
8e44cb2e95 Compile (but not run) imports 2023-03-08 11:12:53 +11:00
Andrew Morris
db2f2d4125 populate_scope_import and other populate_scope improvements 2023-03-08 09:56:25 +11:00
Andrew Morris
53d64addb9 Add Lazy to asm.rs 2023-03-08 09:40:32 +11:00
Andrew Morris
907c7072f7 More consistent definition ordering 2023-03-07 11:37:18 +11:00
Andrew Morris
f6eafd1d39 Export functions and classes 2023-03-07 11:27:08 +11:00
Andrew Morris
b4e450abcd Simplifiy todo diagnostics 2023-03-07 10:54:12 +11:00
Andrew Morris
5427fb1051 Populate scope for export decls 2023-03-07 10:31:17 +11:00
Andrew Morris
106bded066 Split out populate_scope 2023-03-07 10:17:06 +11:00
Andrew Morris
19904c41ec Ignore empty statements 2023-03-07 10:09:56 +11:00
Andrew Morris
be9b078864 Simplify default exports, fix anonymous 2023-03-07 10:05:17 +11:00
Andrew Morris
264aff25aa Update assembly concepts to include export line 2023-03-07 09:11:00 +11:00
Andrew Morris
cfd427b9be Add export line to assembly 2023-03-07 08:50:56 +11:00
Andrew Morris
c83432102f Compiler -> ModuleCompiler 2023-03-07 08:12:26 +11:00
Andrew Morris
3565d2464f Bypass rendering and parsing assembly 2023-03-06 20:06:21 +11:00
Andrew Morris
bab3ada9b8 Adjust newlines, as_lines() 2023-03-06 19:49:59 +11:00
Andrew Morris
eae0f1090e Use numbering for tmp registers 2023-03-06 19:39:34 +11:00
Andrew Morris
812b51dbba Fix inputs/passing/projEuler/p15.ts 2023-03-06 19:38:19 +11:00
Andrew Morris
88cac1fbe2 Removed remaining inline assembly 2023-03-06 18:29:56 +11:00
Andrew Morris
508f00e95c Simpler api for pushing instructions and labels 2023-03-06 17:16:44 +11:00
Andrew Morris
0e9682592e Use asm::Instruction in function_compiler 2023-03-06 16:39:59 +11:00
Andrew Morris
9dc82acebc Use asm::Instruction throughout expression_compiler 2023-03-06 16:17:33 +11:00
Andrew Morris
a18d6eec65 Use asm::Instruction for compound assignments 2023-03-06 16:02:40 +11:00
Andrew Morris
6000440313 Use asm::Instruction for unary and binary operators 2023-03-06 15:53:50 +11:00
Andrew Morris
018407dabc Start using asm::Instruction in compiler 2023-03-06 15:35:34 +11:00
Andrew Morris
eaf26f7a88 Prefer to_string 2023-03-06 15:05:38 +11:00
Andrew Morris
8c98da80be Use asm::Value in CompiledExpression 2023-03-06 14:59:56 +11:00
Andrew Morris
3093016344 Use asm::Pointer during compilation 2023-03-06 14:02:27 +11:00
Andrew Morris
6734567c89 Use definition_allocator from self 2023-03-06 13:26:32 +11:00
Andrew Morris
082591da5c Replace register strings with Register throughout function_compiler 2023-03-06 13:21:54 +11:00
Andrew Morris
6be70c189b Replace register strings with Register throughout expression_compiler 2023-03-06 12:48:41 +11:00
Andrew Morris
e87410dd23 Apply offsets to render_pos, fix empty objects 2023-03-06 09:56:30 +11:00
Andrew Morris
23cb16e5d5 render_pos 2023-03-06 09:40:46 +11:00
Andrew Morris
ac71b6ea50 Fix parameter registers 2023-03-06 09:09:43 +11:00
Andrew Morris
442a309e34 Fix redundant+wrong ValueType 2023-03-06 08:58:09 +11:00
Andrew Morris
01559ce0bd Use ValueType::End to mark the end of arrays and objects instead of encoding the number of elements 2023-03-06 08:54:47 +11:00
Andrew Morris
8c15b5b5eb Derive from Debug for assembly ast, comment unused ValueType 2023-03-06 08:49:15 +11:00
Andrew Morris
3323455cb1 DefinitionRef -> Pointer, fix ValueType::Pointer serialization 2023-03-06 08:39:06 +11:00
Andrew Morris
0cfd2a9924 Fix register parsing and counting 2023-03-05 20:34:58 +11:00
Andrew Morris
e3208620b1 Fix consumption of closing ] in array exp 2023-03-05 20:21:06 +11:00
Andrew Morris
e9a5e4ab94 Use line and col in assembly parser 2023-03-05 18:22:04 +11:00
Andrew Morris
3a49b5aee1 Use new assembler 2023-03-05 18:21:00 +11:00
Andrew Morris
2dc78c2002 assembly_parser 2023-03-05 08:43:04 +11:00
Andrew Morris
372d9c9b36 Add asm::Value::Void 2023-03-05 07:27:59 +11:00
Andrew Morris
6df5bccf9c assembly -> asm 2023-03-04 22:36:46 +11:00