pca006132
|
1d2a32b140
|
nac3core/toplevel: impl scalar conversion
Implemented scalar conversion functions as builtin functions.
`round` for int64 is now implemented as `round64`.
|
2021-09-30 23:39:29 +08:00 |
pca006132
|
f0fdfe42cb
|
nac3core: better impl of #24
|
2021-09-30 17:07:48 +08:00 |
Sebastien Bourdeauducq
|
8d839db553
|
typo
|
2021-09-27 19:12:18 +08:00 |
Sebastien Bourdeauducq
|
64404bba20
|
syscall -> extern (#21)
|
2021-09-27 10:13:03 +08:00 |
pca006132
|
d4ed76d76e
|
nac3core: implementing #24
|
2021-09-26 22:17:09 +08:00 |
pca006132
|
3c121dfcda
|
nac3core/toplevel/composer: fixes #29
|
2021-09-25 22:02:19 +08:00 |
pca006132
|
693ac7d336
|
nac3core/toplevel: added personality symbol config
|
2021-09-25 21:44:00 +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 |
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
|
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
|
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 |
ychenfo
|
f1013d9a17
|
nac3core: top level fix type var within list tuple, test of type var application compatibility
|
2021-09-09 02:03:44 +08:00 |
ychenfo
|
2ce507964c
|
nac3core: fix broken top level test due to hashmap order
|
2021-09-09 00:44:56 +08:00 |
ychenfo
|
5a1a8ecee3
|
nac3core: self is not not allowed to explicitly appear in method type annotations
|
2021-09-08 21:53:54 +08:00 |
ychenfo
|
1300b5ebdd
|
nac3core: clean up and format
|
2021-09-08 19:45:36 +08:00 |