Commit Graph

21 Commits

Author SHA1 Message Date
084efe92af nac3core: use string interning 2021-09-22 18:04:06 +08:00
891056631f nac3core: use Arc to reduce copy 2021-09-22 18:04:06 +08:00
4939ff4dbd simple implementation of classes 2021-09-19 22:54:06 +08:00
f5353419ac codegen: minimized lock holding time
The previous way of holding the lock would prohibit multithread code
generation for llvm
2021-09-16 21:36:42 +08:00
1300b5ebdd nac3core: clean up and format 2021-09-08 19:45:36 +08:00
87f25e1c5d nac3core: remove mutex on dyn symbol resolve 2021-09-08 19:27:32 +08:00
54b4572c5f nac3core: allow interior mutability to dyn symbolresolver, add add_id_def to symbolresolver trait, remove primitive from top level def list 2021-09-06 19:23:04 +08:00
2223c86d9b nac3standalone: compile multiple functions 2021-08-27 16:25:59 +08:00
173102fc56 codegen/expr: function codegen and refactoring 2021-08-25 15:29:58 +08:00
32773c14e0 move top level related things to a separate module 2021-08-24 17:19:17 +08:00
fb5b4697a9 fix rebase conflict and some test failure with unifier's error message 2021-08-23 10:34:11 +08:00
40b062ce0f change the parse type annotation parameter type, refactoring top level 2021-08-23 02:54:45 +08:00
3279f7a776 codegen for simple function call, and various fixes 2021-08-19 15:30:15 +08:00
d30918bea0 worker thread panic handling 2021-08-13 16:20:14 +08:00
e2adf82229 threadpool for parallel code generation 2021-08-13 14:48:46 +08:00
cb01c79603 removed Arc from TypeEnum 2021-08-13 13:33:59 +08:00
1db8378f60 formatting 2021-08-12 16:36:23 +08:00
77943a8117 added primitive codegen test 2021-08-12 13:56:06 +08:00
e112354d25 codegen refactored 2021-08-11 14:37:26 +08:00
d8c713ce3d assignment statement 2021-08-09 15:39:50 +08:00
29286210b5 implementing codegen 2021-08-05 14:56:09 +08:00