Course project of CS241 Advanced Compiler Construction, UC Irvine.