Commit Graph

26 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq 0ca2797428 fix compilation warning 2022-03-17 21:31:45 +08:00
pca006132 642e3b2bad nac3core: moved all builtin errors to nac3artiq code
This remove the need for hard-coding those definition IDs.
2022-03-17 00:04:49 +08:00
pca006132 e126fef012 nac3artiq: support more builtin errors 2022-03-16 23:42:08 +08:00
ychenfo 5006028e2d nac3core: abs builtin function 2022-03-08 23:23:36 +08:00
ychenfo 8241a29908 nac3core: max builtin function 2022-03-08 22:22:00 +08:00
ychenfo adb5c69e67 nac3core: min builtin function 2022-03-08 21:59:37 +08:00
ychenfo 9f6c7b3359 nac3core: type conversion to/from uint 2022-03-08 13:42:45 +08:00
ychenfo 79c469301a basic unsigned integer support 2022-03-08 13:34:02 +08:00
ychenfo 8602852241 nac3core: use signed extension to convert i32 to i64 2022-03-06 04:49:02 +08:00
pca006132 323d77a455 nac3artiq: improve error message for out of range error 2022-02-28 23:09:14 +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 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
pca006132 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
ychenfo 4976e89ae2 nac3core: list slice support 2022-01-13 16:53:32 +08:00
pca006132 1bd966965e fixed M-Labs/nac3#146 2021-12-27 22:56:50 +08:00
Sebastien Bourdeauducq 9e3f75255e update inkwell. Closes #67 2021-12-25 22:17:06 +08:00
Sebastien Bourdeauducq e2b44a066b return int32 in len(). Closes #141 2021-12-20 17:44:42 +08:00
ychenfo b5637a04e9 nac3core: use official implementation for len 2021-12-13 10:44:33 +08:00
ychenfo 2c6601d97c nac3core: fix len on range with step of different sign 2021-12-13 10:44:33 +08:00
ychenfo 82359b81a2 nac3core: fix bool to int conversion 2021-12-13 04:13:43 +08:00
ychenfo b7892ce952 nac3core: add len support for list and range 2021-12-09 01:37:00 +08:00
Sebastien Bourdeauducq 1c31aa6e8e consistent naming 2021-12-02 10:45:46 +08:00
ychenfo aa2d79fea6 Merge branch 'master' into built_in_floor_ceil 2021-12-02 01:08:55 +08:00
ychenfo fa2fe8ed5d nac3core: add ceil and floor 2021-12-01 03:23:58 +08:00
ychenfo 7ede4f15b6 nac3core: move builtin definitions to another file 2021-12-01 02:52:00 +08:00