Commit Graph

59 Commits (bf7e2c295af0c1f0774a3636a6e1545b064eae50)

Author SHA1 Message Date
Sebastien Bourdeauducq bf7e2c295a integrate nac3parser 2021-11-03 17:11:00 +08:00
Sebastien Bourdeauducq 47f563908a basic string support (#30) 2021-11-02 23:22:49 +08:00
Sebastien Bourdeauducq 613020a717 test: add missing id_to_name entry 2021-11-02 18:34:48 +08:00
pca006132 fb92b6d364 nac3core: supports range iterator 2021-10-23 23:53:36 +08:00
pca006132 c4259d14d1 fixed some clippy warnings 2021-10-16 18:08:13 +08:00
pca006132 26076c37ba nac3core/typecheck: supports recursive type inference 2021-10-16 15:56:49 +08:00
pca006132 11144301ca nac3artiq: added simple host value support 2021-10-06 16:07:42 +08:00
pca006132 693ac7d336 nac3core/toplevel: added personality symbol config 2021-09-25 21:44:00 +08:00
pca006132 084efe92af nac3core: use string interning 2021-09-22 18:04:06 +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 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 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
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 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
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 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
CrescentonC 9983aa62e6 add primitive magic methods 2021-07-30 15:40:14 +08:00
pca006132 f2c5a9b352 added location -> call mapping
This allows code generation module to get function instantiation
parameter directly.
2021-07-30 11:01:11 +08:00
ychenfo 09e76efcf7 start adding primitive magic methods 2021-07-29 15:36:19 +08:00