llvm based toy programming language
Go to file
Luna d235ce0d13 add codegen for allocating vardecls onto stack (not init yet)
codegen pass needs type information about the variable. thankfully,
analyze pass already did the hard work for it, and scope info has types
of all its declared names. we use that info to generate the alloca

to have information about which current scope we are, we add a "child
index" to scopes so we can repoint current context at them instead of
bumpScope(), which always creates new, empty ones.

initializer exprs are next
2019-09-27 22:36:35 -03:00
examples add codegen for allocating vardecls onto stack (not init yet) 2019-09-27 22:36:35 -03:00
src add codegen for allocating vardecls onto stack (not init yet) 2019-09-27 22:36:35 -03:00
.gitignore gitignore: add object files 2019-09-21 23:56:35 -03:00
LICENSE add LICENSE 2019-09-18 11:19:23 -03:00
README.md update readme with usage instructions 2019-09-27 21:23:11 -03:00
build.zig fix llvm linking 2019-09-21 12:31:47 -03:00

README.md

rayoko

a toy programming language and compiler

this time it'll work i promise it wont be like vig plrease

instal

git clone https://gitdab.com/luna/rayoko
cd rayoko
zig build install --prefix ~/.local/

use

rayoko examples/hello.ry # outputs to outpath.o
gcc outpath.o examples/hello.c -o hello
./hello