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 |
ychenfo
|
4eacd1aa9e
|
nac3core: top level err test
|
2021-09-10 21:26:39 +08:00 |
ychenfo
|
9eef51f29f
|
nac3core: top level class method self parameter fixed
|
2021-09-10 16:14:08 +08:00 |
ychenfo
|
917d447605
|
nac3core: clean up, fix broken test
|
2021-09-09 02:09:35 +08:00 |