Commit Graph

505 Commits

Author SHA1 Message Date
bf48151748 nac3embedded: do not use *.so for output to avoid confusing cpython 2021-09-24 13:25:48 +08:00
bed8ce1f26 nac3embedded: set ELF entry point symbol 2021-09-24 13:25:18 +08:00
c26689c7a7 shell.nix: fix syntax 2021-09-24 12:53:48 +08:00
ac17bf50f8 nac3embedded: RTIO syscalls 2021-09-24 11:39:26 +08:00
13bd18bfcb nac3embedded: produce final shared library 2021-09-24 11:07:52 +08:00
5c236271c3 nac3embedded: string interning 2021-09-24 09:58:58 +08:00
14662a66dc nac3embedded: run linker (WIP) 2021-09-23 21:30:47 +08:00
c4fbfeaca9 nac3standalone: added thread number arg 2021-09-23 20:02:56 +08:00
20a752fd3a Merge pull request 'optimization (#13)' (#15) from optimization into master
Reviewed-on: M-Labs/nac3#15
2021-09-23 19:58:43 +08:00
6a69211c55 Merge remote-tracking branch 'origin/master' into optimization 2021-09-23 19:58:24 +08:00
59dac8bdf5 nac3embedded: compile for RISC-V ARTIQ coredevice 2021-09-23 19:38:48 +08:00
edd60e3f9a nac3embedded: compile again 2021-09-23 19:30:03 +08:00
799ed58d21 nac3core/type_inferencer: avoid type var for assign 2021-09-22 19:25:47 +08:00
105d605e6d nac3core: fix clippy warnings 2021-09-22 18:04:06 +08:00
97f5b7c324 fixed performance regression 2021-09-22 18:04:06 +08:00
7d48883583 fixed tests 2021-09-22 18:04:06 +08:00
084efe92af nac3core: use string interning 2021-09-22 18:04:06 +08:00
891056631f nac3core: use Arc to reduce copy 2021-09-22 18:04:06 +08:00
1b5ac3cd25 nac3core: do not alloc call if it is monomorphic 2021-09-22 18:04:06 +08:00
5ed2b450d3 nac3core/typecheck: no type variable for monomorphic functions 2021-09-22 18:04:06 +08:00
a508baae20 added syscall annotation
and temporarily disabled the keyword check for top-level functions
2021-09-22 17:58:46 +08:00
013e7cfc2a codegen: support pass statement. Closes #10 2021-09-22 15:17:13 +08:00
db14b4b635 demo: remove old obj files 2021-09-22 15:02:05 +08:00
8acb39f31f fix parallel compilation 2021-09-22 15:00:32 +08:00
d561450bf5 demo: fix classes example 2021-09-22 14:57:24 +08:00
956cca6ac8 cleanup demos 2021-09-22 14:57:13 +08:00
4a5f2d495e added time measurement to track performance 2021-09-22 14:45:56 +08:00
4fe643f45b allows function ending with a number 2021-09-22 14:45:42 +08:00
1c170f5c41 nac3core: type inferencer fix the pass statement 2021-09-21 13:19:13 +08:00
df6c9c8a35 fix #11 2021-09-21 11:29:51 +08:00
20905a9b67 nac3core: better field initialization check 2021-09-21 03:02:12 +08:00
e66693282c nac3core: change the place to unify constructor type for function body type check
add really basic field initialize check
2021-09-20 23:44:39 +08:00
dd1be541b8 nac3core: allow class to have no __init__, function/method name with module path added to ensure uniqueness 2021-09-20 23:36:19 +08:00
3c930ae9ab fixed #12 2021-09-20 15:51:42 +08:00
35a94a8fc0 nac3core: fix broken test 2021-09-20 01:58:07 +08:00
4939ff4dbd simple implementation of classes 2021-09-19 22:54:06 +08:00
bf1769cef6 nac3standalone: more tests 2021-09-19 17:50:01 +08:00
2b74895b71 nac3standalone, nac3core: can use top level composer to compile and run mandelbrot 2021-09-19 16:19:49 +08:00
1b0f3d07cc nac3core: top level fix field of funinstance 2021-09-17 22:32:13 +08:00
ed5dfd4100 nac3core: top level inferencer call with type var more test 2021-09-17 16:31:33 +08:00
41e63f24d0 nac3core: top level add test utility to print stringfied type 2021-09-17 16:31:21 +08:00
d0df705c5a nac3core: toplevel type var test 2021-09-17 00:39:42 +08:00
a0662c58e6 nac3core: fix recursive top level function call 2021-09-17 00:39:42 +08:00
526c18bda0 nac3core: top level inferencer without type var should be ok 2021-09-17 00:39:42 +08:00
a10ab81ee7 toplevel composer: add ast to class methods, suppress warning 2021-09-17 00:39:42 +08:00
f5353419ac codegen: minimized lock holding time
The previous way of holding the lock would prohibit multithread code
generation for llvm
2021-09-16 21:36:42 +08:00
180392e2ab typecheck: fixed recursive substitution 2021-09-12 21:33:21 +08:00
471547855e nac3core: toplevel change class method name handling, cleanup comments 2021-09-12 13:14:46 +08:00
2ac3f9a176 nac3core: separate top level compoer to a new file 2021-09-12 05:10:10 +08:00
cb310965b8 nac3core: toplevel register consider module path 2021-09-12 05:00:26 +08:00