Skip to content

Instantly share code, notes, and snippets.

@marcelogdeandrade
Created June 21, 2018 15:48
Show Gist options
  • Save marcelogdeandrade/8157ac381a54670a1d3e1b2e7bb62e22 to your computer and use it in GitHub Desktop.
Save marcelogdeandrade/8157ac381a54670a1d3e1b2e7bb62e22 to your computer and use it in GitHub Desktop.
from lexer import Lexer
from parser import Parser
from codegen import CodeGen
fname = "input.toy"
with open(fname) as f:
text_input = f.read()
lexer = Lexer().get_lexer()
tokens = lexer.lex(text_input)
codegen = CodeGen()
module = codegen.module
builder = codegen.builder
printf = codegen.printf
pg = Parser(module, builder, printf)
pg.parse()
parser = pg.get_parser()
parser.parse(tokens).eval()
codegen.create_ir()
codegen.save_ir("output.ll")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment