8886964776
core: Remove redundant argument in type annotation parsing
2023-12-16 18:40:48 +08:00
a19f1065e3
meta: Refactor to use more let-else bindings
2023-12-12 16:31:14 +08:00
32746c37be
core: Refactor to return errors by HashSet
2023-12-12 15:41:59 +08:00
02933753ca
core: Apply clippy pedantic changes
2023-12-11 15:16:23 +08:00
d304afd333
meta: Apply clippy suggested changes
2023-12-11 15:16:23 +08:00
4dc5dbb856
meta: Replace equality assertion with assert_eq
...
Emits a more useful assertion message.
2023-12-11 15:16:23 +08:00
fd9f66b8d9
meta: Remove redundant casts and brackets
2023-12-11 15:16:23 +08:00
5182453bd9
meta: Remove redundant path prefixes
2023-12-11 15:16:23 +08:00
031e660f18
core: Initial implementation for const generics
2023-12-08 18:02:11 +08:00
68b97347b1
core: Infer builtins name list using builtin declaration list
2023-12-08 17:29:34 +08:00
ebd25af38b
nac3standalone: allow classes without explicit init ( #221 )
...
Reviewed-on: M-Labs/nac3#304
Co-authored-by: z78078 <cc@m-labs.hk>
Co-committed-by: z78078 <cc@m-labs.hk>
2022-07-07 10:36:25 +08:00
a321b13bec
fix typos
2022-04-27 11:08:10 +08:00
wylited
35b6459c58
nac3core: replace paramter with parameter
2022-04-13 15:42:26 +08:00
e94b25f544
spelling ( #264 )
...
Co-authored-by: wylited <ds@m-labs.hk>
Co-committed-by: wylited <ds@m-labs.hk>
2022-04-13 11:32:31 +08:00
ca07cb66cd
format typevars consistently
2022-04-12 09:28:17 +08:00
26a4834254
fix warnings
2022-03-26 18:52:08 +08:00
80631fc92b
Option type support ( #224 )
...
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2022-03-26 15:09:15 +08:00
1084ba2158
nac3core: fixed typevar with finite range
...
1. Function type variables should not include class type variables,
because they are not bound to the function.
2. Defer type variable constraint evaluation until we get all fields
definition.
2022-03-24 21:31:51 +08:00
41d62f7325
nac3core/toplevel: fixed typevar substitution bug
2022-03-23 00:25:10 +08:00
b97c016629
nac3core: fixed test breakage
2022-03-18 16:52:28 +08:00
35ac5cb6f6
nac3core: fixed typevar bug
2022-03-18 01:07:44 +08:00
c5993c2a58
composer: improve class field typevar error message
2022-03-17 21:04:42 +08:00
e126fef012
nac3artiq: support more builtin errors
2022-03-16 23:42:08 +08:00
79c469301a
basic unsigned integer support
2022-03-08 13:34:02 +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
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
21d9182ba2
nac3core: disallow methods/fields in Exception subclass
...
Fixes #192
2022-02-13 21:45:22 +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
88f0da7bdd
add file name to AST node location
2021-12-28 01:28:55 +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
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
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
7ee82de312
nac3core: fixed weird type inference error
2021-11-27 20:27:46 +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
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