6633eabb89
nac3core: optimized by using HashSet
2021-08-27 12:36: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
35ef0386db
move helper function to another file
2021-08-27 10:21:51 +08:00
b9a580d271
handle class method/fields type var
2021-08-27 09:53:09 +08:00
018d6643e1
top level: top level function type var handled
...
top level: class methods/fields type var handling
2021-08-27 01:41:34 +08:00
935e7410fd
check type params in class generic base declaration
2021-08-26 11:54:37 +08:00
1a21fb1072
fix codegen test about top level composer return type change
2021-08-25 18:00:01 +08:00
35a331552b
cyclic inheritance check added
2021-08-25 17:47:26 +08:00
0bab477ab0
get rid of nested tuple in type annotation helper function
2021-08-25 17:47:26 +08:00
862d205f67
remove self kind and extra primitive info in the return of top level composer constructor, adding some helper function for type annotation
2021-08-25 17:47:26 +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
93270d7227
use forked version of rustpython
...
to implement Clone for AST nodes
2021-08-25 15:28:32 +08:00
1ffa1a8bb0
typecheck/typedef: added copy_from
...
This function would copy concrete type from one unifier to another
unifier, and can handle recursive types. This would be used in code
generation for moving types from one unification table to another one.
2021-08-25 12:02:10 +08:00
01f7a31aae
put parse ast into type annotation into one function
2021-08-24 17:44:37 +08:00
32773c14e0
move top level related things to a separate module
2021-08-24 17:19:17 +08:00
c356062239
symbol_resolver: handle list and tuples
2021-08-24 14:58:19 +08:00
56f082ca7c
handle type var associated with class/function partially, change llvm version of nac3embedded to 11
...
format
2021-08-23 17:00:32 +08:00
39f300b62a
clean up and add duplicate function/parameter/class name test
...
formatted
2021-08-23 14:22:46 +08:00
7b1fe36e90
formatted
2021-08-23 11:13:45 +08:00
fb5b4697a9
fix rebase conflict and some test failure with unifier's error message
2021-08-23 10:34:11 +08:00
364054331c
handle class fields and methods
2021-08-23 02:54:45 +08:00
40b062ce0f
change the parse type annotation parameter type, refactoring top level
2021-08-23 02:54:45 +08:00
f5b8b58826
added tuple assignment check
2021-08-21 15:11:01 +08:00
c4d6b3691a
codegen/expr: fixed warnings
2021-08-21 15:10:50 +08:00
957ceb74e4
nac3core/typecheck: added basic location information
2021-08-21 14:51:46 +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
9a07ef3301
Merge remote-tracking branch 'origin/hm-inference_anto' into hm-inference
2021-08-19 11:32:04 +08:00
c238c264e7
add type vars to the primitive binop function def
2021-08-19 11:18:58 +08:00
f8a697e3d4
switch to LLVM 11
2021-08-19 11:14:35 +08:00
4b38fe66a2
format
2021-08-18 17:33:48 +08:00
9cb07e6f04
start to handle base inheritance methods, fields
2021-08-18 17:32:55 +08:00
6279dbb589
formating
2021-08-18 16:33:50 +08:00
529442590f
some parsing of top level class fields and methods
2021-08-18 16:28:17 +08:00
4fcd48e4c8
try to use def list ast tuple and remove method_to_def_id map
2021-08-18 10:01:11 +08:00
619963dc8c
removed locks in toplevelcomposer
2021-08-17 16:36:06 +08:00
276daa03f7
start refactorinng for less redundancy
2021-08-17 14:01:18 +08:00
a94145348a
fix on comments and redundant code, start handling 'self' things
2021-08-17 11:07:16 +08:00
fa40fd73c6
formatted
2021-08-16 20:17:08 +08:00
79ce13722a
partially parsed class methods nad fields
2021-08-16 17:40:12 +08:00
eb814dd8c3
clean unused use
2021-08-16 13:57:21 +08:00
3734663188
add RefCell to FunSignature in TypeEnum
2021-08-16 13:53:45 +08:00
d8c3c063ec
split top level handling in several functions
2021-08-16 13:53:39 +08:00
d3ad894521
removed code comment
2021-08-13 16:30:33 +08:00