Commit Graph

400 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq 5c236271c3 nac3embedded: string interning 2021-09-24 09:58:58 +08:00
Sebastien Bourdeauducq 14662a66dc nac3embedded: run linker (WIP) 2021-09-23 21:30:47 +08:00
pca006132 c4fbfeaca9 nac3standalone: added thread number arg 2021-09-23 20:02:56 +08:00
pca006132 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
pca006132 6a69211c55 Merge remote-tracking branch 'origin/master' into optimization 2021-09-23 19:58:24 +08:00
Sebastien Bourdeauducq 59dac8bdf5 nac3embedded: compile for RISC-V ARTIQ coredevice 2021-09-23 19:38:48 +08:00
Sebastien Bourdeauducq edd60e3f9a nac3embedded: compile again 2021-09-23 19:30:03 +08:00
pca006132 799ed58d21 nac3core/type_inferencer: avoid type var for assign 2021-09-22 19:25:47 +08:00
pca006132 105d605e6d nac3core: fix clippy warnings 2021-09-22 18:04:06 +08:00
pca006132 97f5b7c324 fixed performance regression 2021-09-22 18:04:06 +08:00
pca006132 7d48883583 fixed tests 2021-09-22 18:04:06 +08:00
pca006132 084efe92af nac3core: use string interning 2021-09-22 18:04:06 +08:00
pca006132 891056631f nac3core: use Arc to reduce copy 2021-09-22 18:04:06 +08:00
pca006132 1b5ac3cd25 nac3core: do not alloc call if it is monomorphic 2021-09-22 18:04:06 +08:00
pca006132 5ed2b450d3 nac3core/typecheck: no type variable for monomorphic functions 2021-09-22 18:04:06 +08:00
pca006132 a508baae20 added syscall annotation
and temporarily disabled the keyword check for top-level functions
2021-09-22 17:58:46 +08:00
Sebastien Bourdeauducq 013e7cfc2a codegen: support pass statement. Closes #10 2021-09-22 15:17:13 +08:00
Sebastien Bourdeauducq db14b4b635 demo: remove old obj files 2021-09-22 15:02:05 +08:00
Sebastien Bourdeauducq 8acb39f31f fix parallel compilation 2021-09-22 15:00:32 +08:00
Sebastien Bourdeauducq d561450bf5 demo: fix classes example 2021-09-22 14:57:24 +08:00
Sebastien Bourdeauducq 956cca6ac8 cleanup demos 2021-09-22 14:57:13 +08:00
pca006132 4a5f2d495e added time measurement to track performance 2021-09-22 14:45:56 +08:00
pca006132 4fe643f45b allows function ending with a number 2021-09-22 14:45:42 +08:00
ychenfo 1c170f5c41 nac3core: type inferencer fix the pass statement 2021-09-21 13:19:13 +08:00
pca006132 df6c9c8a35 fix #11 2021-09-21 11:29:51 +08:00
ychenfo 20905a9b67 nac3core: better field initialization check 2021-09-21 03:02:12 +08:00
ychenfo 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
ychenfo 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
pca006132 3c930ae9ab fixed #12 2021-09-20 15:51:42 +08:00
ychenfo 35a94a8fc0 nac3core: fix broken test 2021-09-20 01:58:07 +08:00
pca006132 4939ff4dbd simple implementation of classes 2021-09-19 22:54:06 +08:00
ychenfo bf1769cef6 nac3standalone: more tests 2021-09-19 17:50:01 +08:00
ychenfo 2b74895b71 nac3standalone, nac3core: can use top level composer to compile and run mandelbrot 2021-09-19 16:19:49 +08:00
ychenfo 1b0f3d07cc nac3core: top level fix field of funinstance 2021-09-17 22:32:13 +08:00
ychenfo ed5dfd4100 nac3core: top level inferencer call with type var more test 2021-09-17 16:31:33 +08:00
ychenfo 41e63f24d0 nac3core: top level add test utility to print stringfied type 2021-09-17 16:31:21 +08:00
ychenfo d0df705c5a nac3core: toplevel type var test 2021-09-17 00:39:42 +08:00
ychenfo a0662c58e6 nac3core: fix recursive top level function call 2021-09-17 00:39:42 +08:00
ychenfo 526c18bda0 nac3core: top level inferencer without type var should be ok 2021-09-17 00:39:42 +08:00
ychenfo a10ab81ee7 toplevel composer: add ast to class methods, suppress warning 2021-09-17 00:39:42 +08:00
pca006132 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
pca006132 180392e2ab typecheck: fixed recursive substitution 2021-09-12 21:33:21 +08:00
ychenfo 471547855e nac3core: toplevel change class method name handling, cleanup comments 2021-09-12 13:14:46 +08:00
ychenfo 2ac3f9a176 nac3core: separate top level compoer to a new file 2021-09-12 05:10:10 +08:00
ychenfo cb310965b8 nac3core: toplevel register consider module path 2021-09-12 05:00:26 +08:00
ychenfo 118f19762a nac3core: toplevel format 2021-09-12 04:40:40 +08:00
ychenfo b419634f8a nac3core: top level fields inheritance check, more tests 2021-09-12 04:34:30 +08:00
ychenfo 147298ff40 nac3core: top level fix class fields as nac3 spec 2021-09-12 03:49:21 +08:00
ychenfo c7cb02b0f3 nac3core: toplevel fix parse type annotation dead lock 2021-09-12 03:01:56 +08:00
ychenfo 03b5e51822 nac3standalone: cleanup 2021-09-10 21:27:08 +08:00