Commit Graph

587 Commits

Author SHA1 Message Date
ychenfo d336200bf4 nac3core: fix broken tests due to the fix of rigid typevar handling 2021-11-21 06:11:55 +08:00
ychenfo a50df6560e nac3core: fix handling on rigid typevar 2021-11-21 06:11:55 +08:00
ychenfo a9635f0979 nac3core: top level use codegen official get_subst_key 2021-11-21 06:11:55 +08:00
ychenfo c2706fa720 nac3core: fix polymorphic class method partial instantiation 2021-11-21 06:11:55 +08:00
pca006132 f5ec103c82 nac3artiq: kernel invariant support 2021-11-20 21:15:15 +08:00
pca006132 ba08deada6 nac3core: refactor codegen 2021-11-20 19:50:25 +08:00
Sebastien Bourdeauducq 439cef636f runkernel: improve print_int debug functions 2021-11-19 12:39:57 +08:00
ychenfo 1e47b364c5 nac3artiq: support now-pinning on RISC-V with wide data bus (#97) 2021-11-16 17:37:40 +08:00
ychenfo 8ab3ee9cce nac3core: AugAssign support (#82) 2021-11-13 12:24:22 +08:00
Sebastien Bourdeauducq 9ae08d6e3d nac3artiq: add stubs for now-pinning on rv32g (#97) 2021-11-13 12:10:55 +08:00
Sebastien Bourdeauducq d6b92adf70 nac3artiq: add stack guard 2021-11-12 20:03:52 +08:00
Sebastien Bourdeauducq aa84fefa56 fix previous commit (again) 2021-11-12 15:47:21 +08:00
Sebastien Bourdeauducq 5ad7aa5a93 flake: fix previous commit 2021-11-12 15:37:39 +08:00
Sebastien Bourdeauducq b64d2399f2 flake: build devShell dependencies on Hydra 2021-11-12 15:08:24 +08:00
Sebastien Bourdeauducq ebca596be6 flake: update nixpkgs 2021-11-12 15:04:21 +08:00
Sebastien Bourdeauducq 4aeea87702 flake: export nixpkgs-patched 2021-11-12 14:57:46 +08:00
Sebastien Bourdeauducq e25a9bbcda typo 2021-11-11 23:44:14 +08:00
Sebastien Bourdeauducq 978eaf16a4 nac3artiq: support RISC-V with and without FPU. Closes #83 2021-11-11 23:43:50 +08:00
Sebastien Bourdeauducq 4547eee82a llvm: switch RISC-V ABI when FPU is present
Patch is a bit of a hack and ignores 64-bit CPUs.

Also only build the LLVM targets we need.
2021-11-11 23:42:32 +08:00
Sebastien Bourdeauducq 96607432c1 nac3core: use Python 3.9 list/tuple annotations in test
Closes #85
2021-11-11 20:05:08 +08:00
Sebastien Bourdeauducq dba1a8b3d4 nac3standalone: link libm in demo runner 2021-11-11 19:44:18 +08:00
Sebastien Bourdeauducq 612b6768c0 nac3artiq: bail early on non-NAC3 classes 2021-11-11 16:35:40 +08:00
Sebastien Bourdeauducq c004da85f7 nac3artiq: drop host-only base classes. Closes #80 2021-11-11 16:08:29 +08:00
Sebastien Bourdeauducq 7fc04936cb runkernel: add print_int debug function 2021-11-10 17:34:13 +08:00
Sebastien Bourdeauducq b57b869c49 min_artiq: remove unused imports 2021-11-10 14:01:39 +08:00
Sebastien Bourdeauducq 50f1aca1aa nac3artiq: move module registration list to CPython side
In ARTIQ, we cannot create a global NAC3 object because we do not
know the ISA in advance.
2021-11-07 10:29:14 +08:00
pca006132 ffa89e9308 fix clippy warnings 2021-11-06 23:00:18 +08:00
pca006132 34cf303e6c nac3artiq: modified demo to use KernelInvariants 2021-11-06 22:50:28 +08:00
pca006132 b1e83a1fd4 nac3core: type check invariants
This rejects code that tries to assign to KernelInvariant fields and
methods.
2021-11-06 22:48:08 +08:00
Sebastien Bourdeauducq 7385b91113 nac3artiq: support kernel entry short form from original ARTIQ 2021-11-06 18:41:59 +08:00
Sebastien Bourdeauducq 016cbf2b90 nac3artiq: return bytes in compile_method_to_mem 2021-11-06 14:29:23 +08:00
Sebastien Bourdeauducq 37eae090e5 nac3artiq: fix linker inputs 2021-11-06 14:23:54 +08:00
Sebastien Bourdeauducq 204baabfd2 nac3artiq: add compile_method_to_mem 2021-11-06 14:14:53 +08:00
Sebastien Bourdeauducq 597857ccd0 typo 2021-11-06 14:14:40 +08:00
ychenfo efc9edbc14 nac3parser: fix decorator and above comments 2021-11-06 14:13:17 +08:00
Sebastien Bourdeauducq 7d66195eae nac3artiq: embed linker script, put intermediate objects in temp dir 2021-11-06 13:04:00 +08:00
pca006132 1fea51d9b3 Merge pull request 'nac3parser: add comment support' (#68) from with_nac3comment into master
Reviewed-on: #68
2021-11-05 20:46:42 +08:00
pca006132 99b29d8ded Merge branch 'master' into with_nac3comment 2021-11-05 20:46:29 +08:00
pca006132 3db95b120b nac3core: implements bool conversion function 2021-11-05 20:34:34 +08:00
pca006132 8dbb4ad58a nac3core/toplevel: make test less fragile
test results should not depend on internal states if possible
2021-11-05 20:28:21 +08:00
ychenfo ee67b22ebc Merge branch 'master' into with_nac3comment 2021-11-05 20:01:36 +08:00
Sebastien Bourdeauducq afb94dd299 nac3artiq: move demo to dedicated folder 2021-11-05 18:28:31 +08:00
Sebastien Bourdeauducq d6f0607ff0 nac3artiq: rename class decorator to nac3 2021-11-05 18:08:36 +08:00
Sebastien Bourdeauducq 610448fa73 nac3artiq: include parallel in demo 2021-11-05 18:07:18 +08:00
Sebastien Bourdeauducq e8228710e7 min_artiq: remove unnecessary definitions 2021-11-05 17:50:26 +08:00
ychenfo 032e1d84cf nac3parser: add and fix tests due to comment support 2021-11-04 15:03:34 +08:00
ychenfo b239806558 nac3core: adapt to ast change due to comment support 2021-11-04 15:02:51 +08:00
ychenfo 694c7e945c nac3ast: generated ast with comment fields 2021-11-04 15:01:50 +08:00
ychenfo 3b1cc02d06 nac3parser, ast: add comment support core changes 2021-11-04 15:00:27 +08:00
Sebastien Bourdeauducq 32d1fe811b flake: update nixpkgs 2021-11-03 21:54:27 +08:00