huangyangyi / Our-Pascal-Compiler

A course project of ZJU Compile Principle.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Our-Pascal-Compiler

A course project of ZJU Compile Principle.

Developer

  • (C) Shibiao Jiang
  • (C) Yangyi Huang
  • (C) Yuhan Wang

Timeline

  • 2020/05/19: Finish Lex
  • 2020/05/20: Finish Infrastructure of Yacc and AST
  • 2020/05/23: Finish AST, Successfully use graphviz to generate the AST
  • 2020/05/30: Finish coding of Backend using LLVM
  • 2020/05/30: Finish Compile and Make, with a lot of bugs
  • 2020/05/31: Have ALMOST NO BUGS and achieve all features included by the grammar, but not limited to it.

Dependencies

  • gcc
  • llvm >= 6.0
  • Please use cmake to build this project.

Usage

  • ./opc <filename>.pas : Generate IR code from <filename>.pas to <filename>.pas.ll.
  • lli <filename>: Generate an executable file from IR code <filename>.

Report

Click here

About

A course project of ZJU Compile Principle.

License:MIT License


Languages

Language:C++ 69.5%Language:LLVM 13.3%Language:Yacc 8.9%Language:Lex 3.2%Language:Assembly 2.9%Language:Pascal 1.2%Language:CMake 0.6%Language:Python 0.2%Language:Shell 0.1%Language:C 0.1%