Commit Graph

84 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq d2a5cd6d57 update to LLVM 13 2021-12-25 22:49:47 +08:00
Sebastien Bourdeauducq 9e3f75255e update inkwell. Closes #67 2021-12-25 22:17:06 +08:00
Sebastien Bourdeauducq 7d66195eae nac3artiq: embed linker script, put intermediate objects in temp dir 2021-11-06 13:04:00 +08:00
Sebastien Bourdeauducq bf7e2c295a integrate nac3parser 2021-11-03 17:11:00 +08:00
Sebastien Bourdeauducq 624dfe8cd1 upgrade to LLVM 12 2021-11-02 14:00:20 +08:00
Sebastien Bourdeauducq 137efebb33 runkernel: add simple host kernel runner 2021-10-31 23:52:43 +08:00
ychenfo f5ce1afe0b fix tests and switch to insta
Use a library called 'insta' to better organize those longer correct test outputs in toplevel tests. 'insta' creates `.snap` files as snapshots of the test output, and will automatically do the diff if the output is different. This makes maintaining test cases with larger outputs a lot easier.

Reviewed-on: #42
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2021-10-03 16:39:12 +08:00
Sebastien Bourdeauducq 316db42940 nac3embedded -> nac3artiq, README cleanup 2021-09-27 10:30:54 +08:00
pca006132 6a69211c55 Merge remote-tracking branch 'origin/master' into optimization 2021-09-23 19:58:24 +08:00
Sebastien Bourdeauducq edd60e3f9a nac3embedded: compile again 2021-09-23 19:30:03 +08:00
pca006132 084efe92af nac3core: use string interning 2021-09-22 18:04:06 +08:00
pca006132 93270d7227 use forked version of rustpython
to implement Clone for AST nodes
2021-08-25 15:28:32 +08:00
ychenfo 56f082ca7c handle type var associated with class/function partially, change llvm version of nac3embedded to 11
format
2021-08-23 17:00:32 +08:00
pca006132 39545c0005 nac3standalone usable 2021-08-19 15:30:52 +08:00
Sebastien Bourdeauducq f8a697e3d4 switch to LLVM 11 2021-08-19 11:14:35 +08:00
pca006132 3dcd846302 added rayon dependency 2021-08-05 14:56:09 +08:00
pca006132 8452579c67 use parking_lot RwLock
The std::sync::RwLock is platform dependent, and is unfair on Linux
(may starve writer)
2021-08-03 14:11:41 +08:00
pca006132 d4d12a9d1d added crossbeam dependency 2021-08-03 12:38:55 +08:00
pca006132 09c9218852 use custom unification table implementation
as the ena implementation did not expose the underlying vector store, we
cannot map over it to get a table without Rc<RefCell<T>> so that we can
send it around...
2021-07-22 11:37:29 +08:00
pca006132 62736bd4bf cleanup: we don't actually need arena 2021-07-16 13:58:02 +08:00
pca006132 d94f25583b added tests 2021-07-15 16:00:23 +08:00
pca006132 e554737b68 tmp 2021-07-14 08:12:47 +08:00
pca006132 ed04cef431 added symbol resolver... 2021-06-28 14:48:04 +08:00
pca006132 7c9919256c begin refactoring 2021-06-28 10:49:41 +08:00
Sebastien Bourdeauducq dd29ae251a nac3embedded: compilation demo 2020-12-19 16:23:12 +08:00
Sebastien Bourdeauducq aa8b4e2305 nac3embedded: parse 2020-12-19 00:52:06 +08:00
Sebastien Bourdeauducq 947a528656 libnac3 -> nac3core 2020-12-18 10:18:21 +08:00
Sebastien Bourdeauducq 8558d41cd8 pyo3 demo 2020-12-18 10:09:35 +08:00
Sebastien Bourdeauducq 06d2fbd25c split off standalone compiler 2020-12-17 22:20:30 +08:00
Sebastien Bourdeauducq c54e5994d7 update dependencies 2020-12-17 21:50:47 +08:00
Sebastien Bourdeauducq f0d331c35a update all dependencies, switch to LLVM 10 2020-11-10 20:34:26 +08:00
Sebastien Bourdeauducq 858cc65daa update inkwell 2020-11-09 21:36:41 +08:00
Sebastien Bourdeauducq 37f7140bb8 support numerical constants 2020-03-29 15:13:08 +08:00
Sebastien Bourdeauducq 21fc3cf3e8 quick and dirty demo of python parsing and llvm output 2020-03-23 16:12:52 +08:00