Compiler Compiler design course lab Labs list LAB-0: Environment settings LAB-1: Lexical Definition LAB-2: Syntactic Definitions LAB-3: Constructing Abstract Syntax Trees LAB-4: Semantic Analyses LAB-5: Code Generation