Compilers Assignment Repository
python3 ekcc.py [-h|-?] [-v] [-O] [-emit-ast|-emit-llvm] [-jit] [-o <output-file>] <input-file> [args]
The Extended-Kaleidoscope Language Compiler
positional arguments:
input-file Input .ek File to Compile
args Optional arguments when performing JIT and execution
optional arguments:
-h, -? Show this help message and exit
-v Enable Verbose mode
-O Enable Optimization
-emit-ast Dump AST in YAML Format to the Output File
-emit-llvm Dump LLVM IR to the Output File
-jit Run the compiled Code
-o output-file Output File to emit AST or LLVM IR
- Python 3 (version >= 3.5)
- PLY used for Lexing/Parsing (version >= 3.11)
- PyYAML used for generation YAML output (version >= 5.1.2)
- llvmlite used to interface with LLVM (version == 0.29.0)
Use requirements.txt to install all dependencies
python3 -m pip install --user -r requirements.txt
- Naga Nithin Manne - nithinmanne
- Dipti Sengupta