# compiler2017 **Repository Path**: alexbeng/compiler2017 ## Basic Information - **Project Name**: compiler2017 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-06-06 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Malic for compiler 2017 A compiler for the course [Compiler 2017](http://acm.sjtu.edu.cn/wiki/Compiler_2017) at ACM Class, SJTU. The source is a java-like language. The target is x86-64 NASM. With various optimizations, this compiler was ranked first in the performance competition of the course. ## Optimization * Instruction selection * Function inlining * Control flow analysis * redundant jump elimination * Dataflow analysis * common sub-expression elimination * constant propagation and folding * dead code elimination * Register Allocation * a full implementation of George, Lal; Appel, Andrew W. (May 1996). *"Iterated Register Coalescing“* for more details, please refer to [my report](doc/report.pdf) ## Build ``` bash build.bash ``` ## Usage ``` Usage: java -jar Malic.jar [options] Options: -in : M* language source code -out : x86-64 NASM output -help : print this help page ```