|
693ac7d336
|
nac3core/toplevel: added personality symbol config
|
2021-09-25 21:44:00 +08:00 |
|
|
105d605e6d
|
nac3core: fix clippy warnings
|
2021-09-22 18:04:06 +08:00 |
|
|
7d48883583
|
fixed tests
|
2021-09-22 18:04:06 +08:00 |
|
|
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 |
|
|
1b5ac3cd25
|
nac3core: do not alloc call if it is monomorphic
|
2021-09-22 18:04:06 +08:00 |
|
|
013e7cfc2a
|
codegen: support pass statement. Closes #10
|
2021-09-22 15:17:13 +08:00 |
|
|
4fe643f45b
|
allows function ending with a number
|
2021-09-22 14:45:42 +08:00 |
|
|
df6c9c8a35
|
fix #11
|
2021-09-21 11:29:51 +08:00 |
|
|
dd1be541b8
|
nac3core: allow class to have no __init__, function/method name with module path added to ensure uniqueness
|
2021-09-20 23:36:19 +08:00 |
|
|
35a94a8fc0
|
nac3core: fix broken test
|
2021-09-20 01:58:07 +08:00 |
|
|
4939ff4dbd
|
simple implementation of classes
|
2021-09-19 22:54:06 +08:00 |
|
|
2b74895b71
|
nac3standalone, nac3core: can use top level composer to compile and run mandelbrot
|
2021-09-19 16:19:49 +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 |
|
|
2ac3f9a176
|
nac3core: separate top level compoer to a new file
|
2021-09-12 05:10:10 +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 |
|
|
55335fc05d
|
nac3core: top level simple type var handled
|
2021-09-08 02:27:12 +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 |
|
|
22a728833d
|
nac3core: fixed broken test
|
2021-08-27 16:50:53 +08:00 |
|
|
2223c86d9b
|
nac3standalone: compile multiple functions
|
2021-08-27 16:25:59 +08:00 |
|
|
8c1c7fcfc3
|
nac3core: fixed broken tests
|
2021-08-27 13:04:51 +08:00 |
|
|
bf4e0009c0
|
codegen: do not generate cont_bb if unreachable
|
2021-08-27 11:46:12 +08:00 |
|
|
a24e204824
|
type_inferencer: check defined identifiers during inference
|
2021-08-27 11:13:43 +08:00 |
|
|
1a21fb1072
|
fix codegen test about top level composer return type change
|
2021-08-25 18:00:01 +08:00 |
|
|
e2b11c3fee
|
codegen: fixed deadlock and added call test
|
2021-08-25 17:44:01 +08:00 |
|
|
0608fd9659
|
fixed test and nac3standalone
|
2021-08-25 15:30:36 +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 |
|
|
c4d6b3691a
|
codegen/expr: fixed warnings
|
2021-08-21 15:10:50 +08:00 |
|
|
e47d063efc
|
codegen: store to list element
|
2021-08-19 17:14:38 +08:00 |
|
|
0e2da0d180
|
codegen: gep related fixes
we can now compile simple programs that uses tuples and lists
|
2021-08-19 16:54:15 +08:00 |
|
|
3279f7a776
|
codegen for simple function call, and various fixes
|
2021-08-19 15:30:15 +08:00 |
|
|
d1215bf5ac
|
nac3core/codegen/expr: fixed typo
|
2021-08-19 11:45:33 +08:00 |
|
|
6e424a6a3e
|
fixed codegen test
|
2021-08-19 11:32:22 +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 |
|
|
1f6c16e08b
|
fixed compilation failure
|
2021-08-12 13:56:51 +08:00 |
|
|
77943a8117
|
added primitive codegen test
|
2021-08-12 13:56:06 +08:00 |
|
|
3a93e2b048
|
TypeEnum::TObj.param is now RefCell for interior mutability
|
2021-08-12 13:17:51 +08:00 |
|
|
e112354d25
|
codegen refactored
|
2021-08-11 14:37:26 +08:00 |
|
|
4db871c244
|
put alloca in init block
|
2021-08-09 16:37:28 +08:00 |
|
|
cc0692a34c
|
modified alloca
|
2021-08-09 16:19:20 +08:00 |
|
|
7a90ff5791
|
while loop constructs
|
2021-08-09 16:10:17 +08:00 |
|
|
d8c713ce3d
|
assignment statement
|
2021-08-09 15:39:50 +08:00 |
|
|
1ffb792000
|
make tuple a ptr to a struct instead of a struct
|
2021-08-07 17:41:48 +08:00 |
|
|
057fcfe3df
|
default parameter value generation
|
2021-08-07 17:31:01 +08:00 |
|
|
86ca02796b
|
function parameter handling
|
2021-08-07 17:25:14 +08:00 |
|
|
711482d09c
|
expr codegen cleanup
|
2021-08-07 15:30:03 +08:00 |
|
|
7a38ab3119
|
codegen for function call
|
2021-08-07 15:06:39 +08:00 |
|
|
18db2ddd53
|
change the type TypeEnum::TObj {object_id} to DefinitionId as with top_level
change TopLevelDef::Class {object_id} to DefinitionId
|
2021-08-06 10:57:01 +08:00 |
|
|
095f28468b
|
added if expr
|
2021-08-05 16:52:41 +08:00 |
|
|
29286210b5
|
implementing codegen
|
2021-08-05 14:56:09 +08:00 |
|