PL/0 JIT Compiler
A tiny PL/0 JIT compiler's frontend.
Dependency:
Build
A configuration file is provided to build this project with CMake. In the project directory run:
$ mkdir -p build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Debug ..
$ make
Milestone
Milestone 1: Source Code Stuff
Milestone 2: Lexer
Milestone 3: Parser (a parse tree)
- ParseTreeNode.hpp
- ParseTreeNode.cpp
- Parser.hpp
- Parser.cpp
- ParseTreeVisitor.hpp
- ParseTreeVisitorDot.hpp
- ParseTreeVisitorDot.cpp
- TestParser.cpp
- TestParserDot.cpp
Milestone 4: AST
- ASTNode.hpp
- ASTNode.cpp
- SymbolTable.hpp
- SymbolTable.cpp
- SemanticAnalyzer.hpp
- SemanticAnalyzer.cpp
- ASTNodeVisitor.hpp
- ASTNodeVisitorDot.hpp
- ASTNodeVisitorDot.cpp
- TestAST.cpp
- TestASTDot.cpp
Milestone 5: Optimization Passes
- EvaluationContext.hpp
- EvaluationContext.cpp
- OptimizationPass.hpp
- DeadCodeElimination.hpp
- DeadCodeElimination.cpp
- ConstantPropagation.hpp
- ConstantPropagation.cpp
- TestOptimizationEvaluation.cpp
- TestOptimizationDeadCodeElimination.cpp
- TestOptimizationConstantPropagation.cpp