1
0

__main__.py 530 B

1234567891011121314151617181920212223242526
  1. from src.zelkelc.lexer.tokenizer import lex
  2. from src.zelkelc.ast.parser import Parser
  3. from src.zelkelc.validator.validator import Validator
  4. from src.zelkelc.codegen.codegen import Codegen
  5. import rich
  6. source = """
  7. fn main() -> i64 {
  8. val test: i64 = 10 + (5 * 5)
  9. return 0
  10. }
  11. """
  12. if __name__ == "__main__":
  13. tokens = lex(source)
  14. print(tokens)
  15. parser = Parser(tokens, 0)
  16. ast = parser.parse()
  17. rich.print(ast)
  18. Validator(ast)
  19. codegen = Codegen(ast)
  20. ir = codegen.generate()
  21. print(ir)