Commit Graph

333 Commits

Author SHA1 Message Date
b88f17ed42 switch to clang-unwrapped, build IRRT with wasm32 2022-01-09 10:56:28 +08:00
1ee857de6a nac3core: format, fix clippy warning 2022-01-09 01:12:18 +08:00
4a65d82db5 introduce IRRT, implement power
based on code by Yijia
#160
2022-01-09 00:57:50 +08:00
7193e3f328 nac3core: codegen fix empty list llvm type 2021-12-30 05:09:21 +08:00
85e06d431a nac3core: improve some type annotation error messages (#87) 2021-12-28 10:49:14 +08:00
9b3b47ce50 fix broken tests 2021-12-28 01:38:16 +08:00
88f0da7bdd add file name to AST node location 2021-12-28 01:28:55 +08:00
1bd966965e fixed #146 2021-12-27 22:56:50 +08:00
fa04768a77 redo "nac3core: fix #84"
This reverts commit 86005da8e1.
2021-12-27 22:56:26 +08:00
86005da8e1 Revert "nac3core: fix #84"
This reverts commit 0902d8adf4.
2021-12-26 08:35:27 +08:00
5aa6749241 remove num-traits 2021-12-26 00:32:08 +08:00
80d3ab1b0f remove bigints 2021-12-26 00:23:54 +08:00
d2a5cd6d57 update to LLVM 13 2021-12-25 22:49:47 +08:00
9e3f75255e update inkwell. Closes #67 2021-12-25 22:17:06 +08:00
0902d8adf4 nac3core: fix #84 2021-12-23 15:26:48 +08:00
66320679be improve error messages
#112, #110, #108, #87

Reviewed-on: #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
0ff995722c Revert "nac3core: add missing expr concrete type check"
This reverts commit cb450372d6.
2021-12-20 18:13:45 +08:00
e2b44a066b return int32 in len(). Closes #141 2021-12-20 17:44:42 +08:00
cb450372d6 nac3core: add missing expr concrete type check 2021-12-19 18:01:49 +08:00
ff27a1697e nac3core: fix for loop type inference 2021-12-19 18:01:49 +08:00
91625dd327 update kernel-only attribute annotation
Reviewed-on: #127
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2021-12-19 11:04:53 +08:00
b5637a04e9 nac3core: use official implementation for len 2021-12-13 10:44:33 +08:00
2c6601d97c nac3core: fix len on range with step of different sign 2021-12-13 10:44:33 +08:00
82359b81a2 nac3core: fix bool to int conversion 2021-12-13 04:13:43 +08:00
4d2fd9582a nac3core: fix broken tests 2021-12-09 01:37:05 +08:00
b7892ce952 nac3core: add len support for list and range 2021-12-09 01:37:00 +08:00
01d3249646 nac3core: add missing llvm range type 2021-12-09 01:16:05 +08:00
3f73896477 remove a small amount of LLVM bloat
Also avoids libffi.dll dependency on Windows.
2021-12-08 17:41:34 +08:00
4526c28edb Merge branch 'windows' 2021-12-02 22:26:55 +08:00
25fc9db66d cargo: specify inkwell LLVM target explicitly
Windows LLVM linking otherwise breaks on the non-existing targets.
2021-12-02 22:24:33 +08:00
1c31aa6e8e consistent naming 2021-12-02 10:45:46 +08:00
aa2d79fea6 Merge branch 'master' into built_in_floor_ceil 2021-12-02 01:08:55 +08:00
1e6848ab92 nac3core: distinguish i64 and i32 in bool conversion 2021-12-02 01:02:42 +08:00
142f82f987 remove debug prints 2021-12-01 22:48:06 +08:00
dfd3548ed2 TypeVar and virtual support in Symbol Resolver (#99)
Add `TypeVar` and `virtual` support for Symbol Resolver in nac3artiq and nac3standalone

Reviewed-on: #99
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2021-12-01 22:44:53 +08:00
fa2fe8ed5d nac3core: add ceil and floor 2021-12-01 03:23:58 +08:00
7ede4f15b6 nac3core: move builtin definitions to another file 2021-12-01 02:52:00 +08:00
0fe346106d nac3core: fix converting int to bool (#119) 2021-11-30 03:02:26 +08:00
4b17511b4a Merge branch 'master' into KernelInvariant 2021-11-27 21:29:27 +08:00
7ee82de312 nac3core: fixed weird type inference error 2021-11-27 20:27:46 +08:00
de8fc264d7 fix unsupported default parameter error message 2021-11-23 15:34:44 +08:00
4587088835 Constant Default Parameter Support (#98)
Add support for constant default parameter

Reviewed-on: #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
49476d06e1 nac3core: clearer comments 2021-11-22 15:06:16 +08:00
664e02cec4 nac3core: fix clippy warning 2021-11-22 14:55:39 +08:00
01b51b62ee nac3core: composer better error msg in for uninit field 2021-11-21 06:11:55 +08:00
d336200bf4 nac3core: fix broken tests due to the fix of rigid typevar handling 2021-11-21 06:11:55 +08:00
a50df6560e nac3core: fix handling on rigid typevar 2021-11-21 06:11:55 +08:00
a9635f0979 nac3core: top level use codegen official get_subst_key 2021-11-21 06:11:55 +08:00
c2706fa720 nac3core: fix polymorphic class method partial instantiation 2021-11-21 06:11:55 +08:00
f5ec103c82 nac3artiq: kernel invariant support 2021-11-20 21:15:15 +08:00