Commit Graph

50 Commits (26a483425439137bc4174058738a81cf9f698758)

Author SHA1 Message Date
ychenfo 26a4834254 fix warnings 2022-03-26 18:52:08 +08:00
pca006132 63b0f29728 Fix broken tests 2022-03-05 00:27:51 +08:00
pca006132 f97f93d92c applied rustfmt and clippy auto fix 2022-02-21 18:27:46 +08:00
pca006132 d9cb506f6a nac3core: refactored for better error messages 2022-02-21 18:24:19 +08:00
pca006132 352831b2ca nac3core: removed legacy location definition 2022-02-13 22:39:24 +08:00
pca006132 b18626b149 Fix compilation and test failures 2022-02-12 22:50:32 +08:00
ychenfo ae8f82ccb0 nac3core: fix broken tests 2022-01-14 16:28:37 +08:00
ychenfo 9b3b47ce50 fix broken tests 2021-12-28 01:38:16 +08:00
ychenfo 66320679be improve error messages
#112, #110, #108, #87

Reviewed-on: M-Labs/nac3#145
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2021-12-22 08:52:19 +08:00
Sebastien Bourdeauducq 1c31aa6e8e consistent naming 2021-12-02 10:45:46 +08:00
pca006132 4b17511b4a Merge branch 'master' into KernelInvariant 2021-11-27 21:29:27 +08:00
ychenfo 4587088835 Constant Default Parameter Support (#98)
Add support for constant default parameter

Reviewed-on: M-Labs/nac3#98
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2021-11-23 07:32:09 +08:00
pca006132 ba08deada6 nac3core: refactor codegen 2021-11-20 19:50:25 +08:00
pca006132 8dbb4ad58a nac3core/toplevel: make test less fragile
test results should not depend on internal states if possible
2021-11-05 20:28:21 +08:00
Sebastien Bourdeauducq bf7e2c295a integrate nac3parser 2021-11-03 17:11:00 +08:00
pca006132 c4259d14d1 fixed some clippy warnings 2021-10-16 18:08:13 +08:00
pca006132 11144301ca nac3artiq: added simple host value support 2021-10-06 16:07:42 +08:00
ychenfo f5ce1afe0b fix tests and switch to insta
Use a library called 'insta' to better organize those longer correct test outputs in toplevel tests. 'insta' creates `.snap` files as snapshots of the test output, and will automatically do the diff if the output is different. This makes maintaining test cases with larger outputs a lot easier.

Reviewed-on: M-Labs/nac3#42
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2021-10-03 16:39:12 +08:00
pca006132 084efe92af nac3core: use string interning 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
ychenfo 20905a9b67 nac3core: better field initialization check 2021-09-21 03:02:12 +08:00
ychenfo 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
ychenfo 35a94a8fc0 nac3core: fix broken test 2021-09-20 01:58:07 +08:00
ychenfo 2b74895b71 nac3standalone, nac3core: can use top level composer to compile and run mandelbrot 2021-09-19 16:19:49 +08:00
ychenfo ed5dfd4100 nac3core: top level inferencer call with type var more test 2021-09-17 16:31:33 +08:00
ychenfo 41e63f24d0 nac3core: top level add test utility to print stringfied type 2021-09-17 16:31:21 +08:00
ychenfo d0df705c5a nac3core: toplevel type var test 2021-09-17 00:39:42 +08:00
ychenfo a0662c58e6 nac3core: fix recursive top level function call 2021-09-17 00:39:42 +08:00
ychenfo 526c18bda0 nac3core: top level inferencer without type var should be ok 2021-09-17 00:39:42 +08:00
ychenfo 471547855e nac3core: toplevel change class method name handling, cleanup comments 2021-09-12 13:14:46 +08:00
ychenfo cb310965b8 nac3core: toplevel register consider module path 2021-09-12 05:00:26 +08:00
ychenfo 118f19762a nac3core: toplevel format 2021-09-12 04:40:40 +08:00
ychenfo b419634f8a nac3core: top level fields inheritance check, more tests 2021-09-12 04:34:30 +08:00
ychenfo 147298ff40 nac3core: top level fix class fields as nac3 spec 2021-09-12 03:49:21 +08:00
ychenfo c7cb02b0f3 nac3core: toplevel fix parse type annotation dead lock 2021-09-12 03:01:56 +08:00
ychenfo 4eacd1aa9e nac3core: top level err test 2021-09-10 21:26:39 +08:00
ychenfo 9eef51f29f nac3core: top level class method self parameter fixed 2021-09-10 16:14:08 +08:00
ychenfo f1013d9a17 nac3core: top level fix type var within list tuple, test of type var application compatibility 2021-09-09 02:03:44 +08:00
ychenfo 2ce507964c nac3core: fix broken top level test due to hashmap order 2021-09-09 00:44:56 +08:00
ychenfo 5a1a8ecee3 nac3core: self is not not allowed to explicitly appear in method type annotations 2021-09-08 21:53:54 +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 247b364191 nac3core: top level fix cyclic ancestor analysis, add tests 2021-09-07 17:30:15 +08:00
ychenfo bbcec6ae6f nac3core: toplevel fix bug in make self annotation and return type check 2021-09-07 10:03:31 +08:00
ychenfo 235b6e34d1 nac3core: top level derive fmt::Debug, fix dead lock 2021-09-07 00:20:40 +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 dc7c014b10 nac3core: top level more test 2021-08-31 17:40:38 +08:00
ychenfo 1ae6acc061 nac3core: top level fix function/methods none return type 2021-08-31 15:41:48 +08:00
ychenfo 98d032b72a nac3core: top level fix duplicate def, start adding tests 2021-08-31 15:23:57 +08:00