Commit Graph

104 Commits

Author SHA1 Message Date
Andrew Morris
f43e83cffe Compile throw expressions 2023-03-21 14:29:38 +11:00
Andrew Morris
8b535f4f03 Throw instruction 2023-03-21 14:16:23 +11:00
Andrew Morris
cfb72fdbcd Dedupe InstructionByte 2023-03-21 14:00:33 +11:00
Andrew Morris
d2c437a9b6 BigInt 2023-03-20 17:59:07 +11:00
Andrew Morris
904f230416 inf -> Infinity 2023-03-20 11:43:56 +11:00
Andrew Morris
549e7e546a NaN, Infinity 2023-03-20 11:34:48 +11:00
Andrew Morris
358c816fe3 More deduping of builtins, fix todo 2023-03-20 09:20:51 +11:00
Andrew Morris
8dfb174cb2 Deduplicate builtin name list 2023-03-20 08:42:09 +11:00
Andrew Morris
791e69dcca number_builtin 2023-03-17 01:00:10 +11:00
Andrew Morris
253b06141c fromCodePoint 2023-03-13 14:25:55 +11:00
Andrew Morris
e5232e933c For-of loops 2023-03-12 20:38:43 +11:00
Andrew Morris
cec98637ea Move control cases into functions 2023-03-12 18:51:00 +11:00
Andrew Morris
399cfaa389 Support named exports 2023-03-12 16:40:21 +11:00
Andrew Morris
860e1108f7 Fix export_name default 2023-03-12 16:00:29 +11:00
Andrew Morris
98d92b67e6 Support export { default as (name) } 2023-03-12 15:51:06 +11:00
Andrew Morris
8d54c0907c Support more named exports 2023-03-12 15:32:57 +11:00
Andrew Morris
1b76dcafa5 Partial support for named exports 2023-03-12 15:17:14 +11:00
Andrew Morris
951ee0005d Enumerate module decls 2023-03-12 14:31:33 +11:00
Andrew Morris
6e1b5645ac Implement default export class 2023-03-09 16:14:19 +11:00
Andrew Morris
e50ad6bf59 Use linked compilation in test_inputs.rs and add test 2023-03-09 15:38:03 +11:00
Andrew Morris
32943bad1a New compile command using linking 2023-03-09 15:13:19 +11:00
Andrew Morris
c5b75b35de compile -> compile_module 2023-03-09 14:17:56 +11:00
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