1407553a2f
[core] Implement parsing of global variables
...
Globals are now parsed into symbol resolver and top level definitions.
2024-10-04 13:18:29 +08:00
c7697606e1
[core] Add TopLevelDef::Variable
2024-10-04 13:09:25 +08:00
88d0ccbf69
[standalone] Explicit panic when encountering a compilation error
...
Otherwise scripts will continue to execute.
2024-10-04 13:00:16 +08:00
a43b59539c
[meta] Move variables declarations closer to where they are first used
2024-10-04 13:00:16 +08:00
fe06b2806f
[meta] Reorganize order of use declarations
...
Use declarations are now grouped into 4 groups:
- Declarations from the standard library
- Declarations from external crates
- Declarations from other crates in this project
- Declarations from within this module
Furthermore, all use declarations are grouped together to enhance
readability. super::super is also replaced by an equivalent crate::
declaration.
2024-10-04 12:52:01 +08:00
7f6c9a25ac
[meta] Update Cargo dependencies
2024-10-04 12:52:01 +08:00
6c8382219f
msys2: get python via numpy dependencies
2024-09-30 14:27:30 +08:00
9274a7b96b
flake: update nixpkgs
2024-09-30 14:22:40 +08:00
d1c0fe2900
cargo: update dependencies
2024-09-30 14:14:43 +08:00
f2c047ba57
artiq: support async rpcs
...
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2024-09-13 12:12:13 +08:00
5e2e77a500
[meta] Bump inkwell to v0.5
2024-09-13 11:11:14 +08:00
f3cc4702b9
[meta] Update dependencies
2024-09-13 11:11:14 +08:00
3e92c491f5
[standalone] Add tests creating ndarrays with tuple dims
2024-09-11 15:52:43 +08:00
7f629f1579
core: fix comment in unify_call
2024-09-11 15:46:19 +08:00
5640a793e2
core: allow np_full to take tuple shapes
2024-09-11 15:46:19 +08:00
abbaa506ad
[standalone] Remove redundant recreation of TargetMachine
2024-09-09 14:27:10 +08:00
f3dc02d646
[meta] Apply cargo fmt
2024-09-09 14:24:52 +08:00
ea217eaea1
[meta] Update pre-commit config
...
Directly invoke cargo using nix develop to avoid using the system cargo.
2024-09-09 14:24:38 +08:00
5a34551905
allow the use of the LLVM shared library
...
Which in turns allows working around the incompatibility of the LLVM static library
with Rust link-args=-rdynamic, which produces binaries that either fail to link (OpenBSD)
or segfault on startup (Linux).
The year is 2024 and compiler toolchains are still a trash fire like this.
2024-09-09 11:17:31 +08:00
6098b1b853
fix previous commit
2024-09-06 11:32:08 +08:00
668ccb1c95
nac3core: expose inkwell and nac3parser
2024-09-06 11:06:26 +08:00
a3c624d69d
update all dependencies
2024-09-06 10:21:58 +08:00
bd06155f34
irrt: compatibility with pre-C23 compilers
2024-09-05 18:54:55 +08:00
9c33c4209c
[core] Fix type of ndarray.element_type
...
Should be the element type of the NDArray itself, not the pointer to its
type.
2024-08-30 22:47:38 +08:00
122983f11c
flake: update dependencies
2024-08-30 14:45:38 +08:00
71c3a65a31
[core] codegen/stmt: Fix obtaining return type of sret functions
2024-08-29 19:15:30 +08:00
8c540d1033
[core] codegen/stmt: Add more casts for boolean types
2024-08-29 16:36:32 +08:00
0cc60a3d33
[core] codegen/expr: Fix missing cast to i1
2024-08-29 16:36:32 +08:00
a59c26aa99
[artiq] Fix RPC of ndarrays from host
2024-08-29 16:08:45 +08:00
02d93b11d1
[meta] Update dependencies
2024-08-29 14:32:21 +08:00
59cad5bfe1
standalone: clang-format demo.c
2024-08-29 10:37:24 +08:00
4318f8de84
standalone: improve src/assignment.py
2024-08-29 10:33:58 +08:00
15ac00708a
[core] Use quoted include paths instead of angled brackets
...
This is preferred for user-defined headers.
2024-08-28 16:37:03 +08:00
c8dfdcfdea
standalone & artiq: remove class_names from resolver
2024-08-27 23:43:40 +08:00
600a5c8679
Revert "standalone: reformat demo.c"
...
This reverts commit 308edb8237
.
2024-08-27 23:06:49 +08:00
22c4d25802
core/typecheck: add missing typecheck in matmul
2024-08-27 22:59:39 +08:00
308edb8237
standalone: reformat demo.c
2024-08-27 22:55:22 +08:00
9848795dcc
core/irrt: add exceptions and debug utils
2024-08-27 22:55:22 +08:00
58222feed4
core/irrt: split into headers
2024-08-27 22:55:22 +08:00
518f21d174
core/irrt: build.rs capture IR defined constants
2024-08-27 22:55:22 +08:00
e8e49684bf
core/irrt: build.rs capture IR defined types
2024-08-27 22:55:22 +08:00
b2900b4883
core/irrt: use +std=c++20 to compile
...
To explicitly set the C++ variant and avoid inconsistencies.
2024-08-27 22:55:22 +08:00
c6dade1394
core/irrt: reformat
2024-08-27 22:55:22 +08:00
7e3fcc0845
add .clang-format
2024-08-27 22:55:22 +08:00
d3b4c60d7f
core/irrt: comment build.rs & move irrt to nac3core/irrt
2024-08-27 22:55:22 +08:00
5b2b6db7ed
core: improve error messages
2024-08-26 18:37:55 +08:00
15e62f467e
standalone: add tests for polymorphism
2024-08-26 18:37:55 +08:00
2c88924ff7
core: add support for simple polymorphism
2024-08-26 18:37:55 +08:00
a744b139ba
core: allow Call and AnnAssign in init block
2024-08-26 18:37:55 +08:00
2b2b2dbf8f
[core] Fix resolution of exception names in raise short form
...
Previous implementation fails as `resolver.get_identifier_def` in ARTIQ
would return the exception __init__ function rather than the class.
We fix this by limiting the exception class resolution to only include
raise statements, and to force the exception name to always be treated
as a class.
Fixes #501 .
2024-08-26 18:35:02 +08:00