9f6c7b3359
nac3core: type conversion to/from uint
2022-03-08 13:42:45 +08:00
79c469301a
basic unsigned integer support
2022-03-08 13:34:02 +08:00
8602852241
nac3core: use signed extension to convert i32 to i64
2022-03-06 04:49:02 +08:00
63b0f29728
Fix broken tests
2022-03-05 00:27:51 +08:00
294943e303
nac3core: get exception ID from symbol resolver
...
We need to store the exception class somewhere in order to create them
back in the host. Fixes #200
2022-03-05 00:26:35 +08:00
da039e3acf
fix error message string
2022-03-02 08:04:15 +08:00
323d77a455
nac3artiq: improve error message for out of range error
2022-02-28 23:09:14 +08:00
5d8e87d923
more readable type annotation error string
2022-02-28 16:24:03 +08:00
17792b76b7
rename exception symbols
2022-02-23 11:04:35 +08:00
3ad25c8f07
nac3core: sort error messages for determinism
2022-02-22 14:33:43 +08:00
f97f93d92c
applied rustfmt and clippy auto fix
2022-02-21 18:27:46 +08:00
d9cb506f6a
nac3core: refactored for better error messages
2022-02-21 18:24:19 +08:00
352831b2ca
nac3core: removed legacy location definition
2022-02-13 22:39:24 +08:00
21d9182ba2
nac3core: disallow methods/fields in Exception subclass
...
Fixes #192
2022-02-13 21:45:22 +08:00
b18626b149
Fix compilation and test failures
2022-02-12 22:50:32 +08:00
e303248261
nac3core: exception type check and codegen
2022-02-12 22:50:32 +08:00
b267a656a8
nac3core: added exception type and fixed primitive representation
...
- Added `Exception` primitive type and some builtin exception types.
Note that all exception types share the same layout, and should
inherit from the base `Exception` type. There are some hacks in the
toplevel module for handling exception types, we should revisit and
fix them later.
- Added new primitive types to concrete type module, otherwise there
would be some weird type errors.
- Changed the representation of strings to CSlice<u8>, instead of
CString.
2022-02-12 22:13:59 +08:00
050c862c1a
nac3core: function codegen callback changes
...
Added code generator argument to the callback, so it would be easier to
write complicated codegen with that callback. To prepare for RPC
codegen.
2022-02-12 21:24:41 +08:00
1288624218
lock insta version ( #179 )
2022-01-31 15:18:49 +08:00
de065cfa14
update dependencies
2022-01-31 12:28:40 +08:00
ae8f82ccb0
nac3core: fix broken tests
2022-01-14 16:28:37 +08:00
4a1a4dc076
nac3core/artiq/standalone: symbol resolver return error msg for type error of host variables
2022-01-14 16:28:34 +08:00
4976e89ae2
nac3core: list slice support
2022-01-13 16:53:32 +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 M-Labs/nac3#146
2021-12-27 22:56:50 +08:00
80d3ab1b0f
remove bigints
2021-12-26 00:23:54 +08:00
9e3f75255e
update inkwell. Closes #67
2021-12-25 22:17:06 +08:00
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
e2b44a066b
return int32 in len(). Closes #141
2021-12-20 17:44:42 +08:00
91625dd327
update kernel-only attribute annotation
...
Reviewed-on: M-Labs/nac3#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
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
dfd3548ed2
TypeVar and virtual support in Symbol Resolver ( #99 )
...
Add `TypeVar` and `virtual` support for Symbol Resolver in nac3artiq and nac3standalone
Reviewed-on: M-Labs/nac3#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: 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
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