Commit graph

93 commits

Author SHA1 Message Date
James Harton
596ee84f44 Add code improvement to IR and implement simple numeric constant folding. 2019-03-18 17:38:36 +13:00
James Harton
8942c04c6e Extend the IR to include the location and the result type. 2019-03-18 13:55:09 +13:00
James Harton
b0ab1a4717 Store blocks on the context and reference them.
Because we need to build a control-flow graph from all our blocks don't
store them haphazard all over the place but in a single blocks
collection on the context object.
2019-03-18 13:01:27 +13:00
James Harton
26ed1130e7 Use blocks rather than vecs or IR all over the place. 2019-03-18 08:53:47 +13:00
James Harton
30fdff315b Build IR 2019-03-17 18:54:35 +13:00
James Harton
bd2177940c Add a bunch more IR stuff and anonymous functions. 2019-03-14 21:25:12 +13:00
James Harton
781832eb7d There's no need to store the type declarations in the IR. 2019-03-14 16:51:15 +13:00
James Harton
292fdb1305 Add type, trait and impl definitions. 2019-03-14 08:29:01 +13:00
James Harton
f6359f4245 Use a simple stack machine to build the IR. 2019-03-13 20:32:13 +13:00
James Harton
81c0ac85c4 WIP: I don't think building our IR using recursive descent is going to work. 2019-03-12 15:44:13 +13:00
James Harton
aa6395e55b Make the parser much more explicit about it's grammer and deal with the consequences later. 2019-03-08 22:40:34 +13:00
James Harton
fd823107f1 Add page about Huia with poem. 2019-03-08 15:55:42 +13:00
James Harton
f18f088105 Use a smaller photo for faster loadijng. 2019-03-08 15:30:40 +13:00
James Harton
277ce9cfe7 Helps if one includes the theme along with the site. 2019-03-08 15:20:01 +13:00
James Harton
ea00028c2e Attempted installation of Hexo site generator. 2019-03-08 14:01:39 +13:00
James Harton
ba04a202c6 method calls are left associative. 2019-03-07 18:36:29 +13:00
James Harton
78f7593520 Reimplement method calls as binary operations. 2019-03-07 11:09:39 +13:00
James Harton
dece06f8c6 Build IR for more expressions. 2019-03-06 19:27:57 +13:00
James Harton
6ea740a436 Include clippy in CI. 2019-03-06 16:40:35 +13:00
James Harton
977e0de9a1 Assign isn't a binary operation anymore. 2019-03-06 16:29:29 +13:00
James Harton
e022838be6 Add Ir for unary and binary expressions. 2019-03-06 16:27:22 +13:00
James Harton
030aeef878 Add braced expressions for tighter binding. 2019-03-06 15:36:04 +13:00
James Harton
a0e33edd10 Add IR for array and map constants. 2019-03-06 15:13:40 +13:00
James Harton
10fcc65045 Start over by trying to build an IR instead of the final output. 2019-03-06 13:38:18 +13:00
James Harton
2f55480228 Update MIT license file 2019-03-04 15:07:30 +13:00
James Harton
59b28f7ce9 Rename typename to just ty. 2019-03-03 13:38:44 +13:00
James Harton
b7d15a2c3c Remove compiler. Again. 2019-03-03 13:28:28 +13:00
James Harton
33e364bf38 Remove the concept of a typespec because it's just an expression. 2019-03-03 13:28:09 +13:00
James Harton
448c68e028 :( 2019-02-26 13:10:18 +13:00
James Harton
5909368138 WIP 2019-02-25 20:52:18 +13:00
James Harton
f2b84a6e54 WIP 2019-02-25 13:36:51 +13:00
James Harton
2b2d40bb55 Add functions/clauses/arguments. 2019-02-23 15:19:00 +13:00
James Harton
4aa61a7a21 Extract types into separate files. 2019-02-23 10:14:46 +13:00
James Harton
80b549b586 Run clippy. 2019-02-23 08:52:59 +13:00
James Harton
243eb426c8 Add constant values. 2019-02-22 23:08:15 +13:00
James Harton
e85fb16707 Beginnings of a much simpler type system. 2019-02-22 22:08:48 +13:00
James Harton
115c1d51e9 WIP 2019-02-22 19:48:05 +13:00
James Harton
b07a3ce8ef Another attempt. 2019-02-14 21:07:17 +13:00
James Harton
7277510a72 Scope stuff. 2019-02-14 19:08:40 +13:00
James Harton
447c54ce35 Ideas for scopes. 2019-02-14 17:50:55 +13:00
James Harton
d7a0b03d64 Add location to term. 2019-02-12 12:20:58 +13:00
James Harton
f72a532970 MOAR AST. 2019-02-12 11:37:44 +13:00
James Harton
84d2f34c1c Start working on building the AST from the pest output. 2019-02-08 21:58:29 +13:00
James Harton
c04c1618b6 Go back to using PEST because it's just easier. 2019-02-08 21:12:56 +13:00
James Harton
4fd67d9a16 Try with logos and prattle. 2019-02-08 18:49:15 +13:00
James Harton
d786485269 Add some tests. 2019-02-05 09:02:35 +13:00
James Harton
b51fb43f9c Start a much simpler parser using prettle and logos. 2019-02-04 21:15:15 +13:00
James Harton
c4d011f21e Remove old crates. 2019-02-04 21:15:02 +13:00
James Harton
8b464e68bd I don't remember what I was doing. 2019-02-04 14:18:44 +13:00
James Harton
6785e01df7 Add basic documentation to the linter. 2018-09-19 15:27:24 +12:00