Commit Graph

981 Commits

Author SHA1 Message Date
06d2fbd25c split off standalone compiler 2020-12-17 22:20:30 +08:00
c54e5994d7 update dependencies 2020-12-17 21:50:47 +08:00
d7ded27def add shell.nix 2020-11-10 20:39:25 +08:00
d538988e5a use clang for demo 2020-11-10 20:39:17 +08:00
f0d331c35a update all dependencies, switch to LLVM 10 2020-11-10 20:34:26 +08:00
858cc65daa update inkwell 2020-11-09 21:36:41 +08:00
c964481a2f rm interpreter mandelbrot 2020-03-30 22:49:30 +08:00
a351f6279a mandelbrot demo 2020-03-30 22:47:45 +08:00
1eac097706 add simple output function 2020-03-30 22:30:32 +08:00
2fae28eb70 implement unary operators 2020-03-30 22:10:06 +08:00
052ea8d98a support break 2020-03-30 19:12:31 +08:00
ef01a86c2f support while loop 2020-03-30 18:23:32 +08:00
43bc7392ff support boolean constants 2020-03-30 18:23:20 +08:00
aecf24c857 support if/then/else 2020-03-30 17:33:01 +08:00
38cdab01cb run LLVM passes 2020-03-30 16:58:44 +08:00
8e9bd3df04 print IR 2020-03-30 16:19:49 +08:00
f9dbf68875 use alloca for variables 2020-03-30 16:19:35 +08:00
c5efa615a2 implement division 2020-03-30 12:34:38 +08:00
056b9631a0 implement numerical casts 2020-03-30 12:01:12 +08:00
ea699fb46f support numerical comparisons 2020-03-29 16:56:07 +08:00
37f7140bb8 support numerical constants 2020-03-29 15:13:08 +08:00
a43c7b8d4f support assignments 2020-03-29 14:10:06 +08:00
05ac6fa2c1 read input from file 2020-03-29 13:27:00 +08:00
10fd4d3c27 report unbound identifier errors 2020-03-29 12:20:40 +08:00
befd01b240 implement simple expressions and return statement 2020-03-29 12:12:08 +08:00
69ed23ee00 improve error messages 2020-03-28 15:12:12 +08:00
f9a56c7d8f compile statements (WIP) 2020-03-27 23:47:40 +08:00
8b7b012b27 improve error reporting 2020-03-27 16:54:49 +08:00
894bbca38e add some types 2020-03-27 16:54:41 +08:00
710d87596a process function arguments 2020-03-26 19:53:14 +08:00
21fc3cf3e8 quick and dirty demo of python parsing and llvm output 2020-03-23 16:12:52 +08:00