pca006132
|
084efe92af
|
nac3core: use string interning
|
2021-09-22 18:04:06 +08:00 |
pca006132
|
1b5ac3cd25
|
nac3core: do not alloc call if it is monomorphic
|
2021-09-22 18:04:06 +08:00 |
pca006132
|
5ed2b450d3
|
nac3core/typecheck: no type variable for monomorphic functions
|
2021-09-22 18:04:06 +08:00 |
ychenfo
|
1c170f5c41
|
nac3core: type inferencer fix the pass statement
|
2021-09-21 13:19:13 +08:00 |
pca006132
|
3c930ae9ab
|
fixed #12
|
2021-09-20 15:51:42 +08:00 |
ychenfo
|
35a94a8fc0
|
nac3core: fix broken test
|
2021-09-20 01:58:07 +08:00 |
ychenfo
|
917d447605
|
nac3core: clean up, fix broken test
|
2021-09-09 02:09:35 +08:00 |
ychenfo
|
1300b5ebdd
|
nac3core: clean up and format
|
2021-09-08 19:45:36 +08:00 |
ychenfo
|
87f25e1c5d
|
nac3core: remove mutex on dyn symbol resolve
|
2021-09-08 19:27:32 +08:00 |
ychenfo
|
55335fc05d
|
nac3core: top level simple type var handled
|
2021-09-08 02:27:12 +08:00 |
ychenfo
|
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 |
ychenfo
|
e2a9bdd8bc
|
nac3core: toplevel no duplicate type var too early
|
2021-08-30 14:15:36 +08:00 |
pca006132
|
8c1c7fcfc3
|
nac3core: fixed broken tests
|
2021-08-27 13:04:51 +08:00 |
pca006132
|
6633eabb89
|
nac3core: optimized by using HashSet
|
2021-08-27 12:36:51 +08:00 |
pca006132
|
a24e204824
|
type_inferencer: check defined identifiers during inference
|
2021-08-27 11:13:43 +08:00 |
pca006132
|
0608fd9659
|
fixed test and nac3standalone
|
2021-08-25 15:30:36 +08:00 |
pca006132
|
173102fc56
|
codegen/expr: function codegen and refactoring
|
2021-08-25 15:29:58 +08:00 |
ychenfo
|
01f7a31aae
|
put parse ast into type annotation into one function
|
2021-08-24 17:44:37 +08:00 |
ychenfo
|
32773c14e0
|
move top level related things to a separate module
|
2021-08-24 17:19:17 +08:00 |
ychenfo
|
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 |
ychenfo
|
fb5b4697a9
|
fix rebase conflict and some test failure with unifier's error message
|
2021-08-23 10:34:11 +08:00 |
ychenfo
|
40b062ce0f
|
change the parse type annotation parameter type, refactoring top level
|
2021-08-23 02:54:45 +08:00 |
pca006132
|
957ceb74e4
|
nac3core/typecheck: added basic location information
|
2021-08-21 14:51:46 +08:00 |
ychenfo
|
6279dbb589
|
formating
|
2021-08-18 16:33:50 +08:00 |
ychenfo
|
4fcd48e4c8
|
try to use def list ast tuple and remove method_to_def_id map
|
2021-08-18 10:01:11 +08:00 |
ychenfo
|
fa40fd73c6
|
formatted
|
2021-08-16 20:17:08 +08:00 |
ychenfo
|
3734663188
|
add RefCell to FunSignature in TypeEnum
|
2021-08-16 13:53:45 +08:00 |
pca006132
|
d3ad894521
|
removed code comment
|
2021-08-13 16:30:33 +08:00 |
pca006132
|
e2adf82229
|
threadpool for parallel code generation
|
2021-08-13 14:48:46 +08:00 |
pca006132
|
cb01c79603
|
removed Arc from TypeEnum
|
2021-08-13 13:33:59 +08:00 |
ychenfo
|
3a93e2b048
|
TypeEnum::TObj.param is now RefCell for interior mutability
|
2021-08-12 13:17:51 +08:00 |
pca006132
|
d46a4b2d38
|
symbol_resolver: fixed type variable handling
|
2021-08-12 10:25:32 +08:00 |
pca006132
|
de8b67b605
|
refactored symbol resolver
|
2021-08-11 17:28:29 +08:00 |
ychenfo
|
42a636b4ce
|
add Arc<Mutex<dyn SymbolResolver>> and change from Box<SymbolResolve> to Arc<SymbolResolver>, need format and cleanup
|
2021-08-11 15:11:51 +08:00 |
ychenfo
|
82ce816177
|
refactored top level parsing, need review
|
2021-08-10 10:37:06 +08:00 |
pca006132
|
86ca02796b
|
function parameter handling
|
2021-08-07 17:25:14 +08:00 |
pca006132
|
34d3317ea0
|
store operation method signature
|
2021-08-07 10:41:53 +08:00 |
pca006132
|
c405e46b00
|
moving location and symbol_resolver out from typecheck
|
2021-08-07 10:28:41 +08:00 |
ychenfo
|
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 |
ychenfo
|
fe26070364
|
cleanup basic_test_env
|
2021-08-06 10:57:01 +08:00 |
pca006132
|
29286210b5
|
implementing codegen
|
2021-08-05 14:56:09 +08:00 |
pca006132
|
b01d0f6fbb
|
formatting
|
2021-08-05 14:56:09 +08:00 |
ychenfo
|
c0227210df
|
bit shift lhs rhs same type; float ** int and float ** float both supported
|
2021-08-05 11:55:46 +08:00 |
CrescentonC
|
d052f007fb
|
fix typo of primitives method
|
2021-08-04 12:03:56 +08:00 |
pca006132
|
f00c1813e3
|
top-level related changes
|
2021-08-03 13:38:27 +08:00 |
pca006132
|
a3acf09bda
|
typedef: make it send
Rc in calls is not send, so we use Arc instead.
|
2021-08-03 12:38:12 +08:00 |
CrescentonC
|
a7e3eeea0d
|
add primitive magic method support; change from TypeEnum::TObj { fields: Mapping<String>, ..} to TypeEnum::TObj {fields: RefCell<Mapping<String>>, .. } for interior mutability
|
2021-08-02 17:36:37 +08:00 |
CrescentonC
|
7e0d55443a
|
better structured primitive magic methods impl
|
2021-08-02 11:28:05 +08:00 |
CrescentonC
|
b87c627c41
|
updated with field in the test environment
|
2021-07-30 15:46:57 +08:00 |
CrescentonC
|
ae79533cfd
|
Merge remote-tracking branch 'origin/hm-inference' into hm-inference_anto
|
2021-07-30 15:41:53 +08:00 |