The main idea and work explanation can be found in report.pdf.
All the files contain:Small.l,Small.y,treeNode.h,README.md,makefile,testcases,CodeGeneration.c,avlTree.h,checkReserved.c## How to run :
Firstly,input "sh build.sh" in the root directory.
Secondly, ./Parser "Source File Name" "Output File Name" to generate syntax tree.
Thirdly, ./scc "Source File Name" "Output File Name" to generate llvm codes.
Last, lli xx.ll to run the program by llvm.