CMin
Introduction
A compiler takes an assembly-language or high-level-language source program as input and translates it into an equivalent program in the target language or machine code.
This project implements a compiler for a simplified C-like grammar that supports functions and arrays.
Implementation Details
Lexical Analysis
Construct a DFA.
Semantic Analysis
Use recursive descent.
Assembly Code Generation
The generated code targets a virtual-machine environment.