This repo contains the Compiler design done for COOL programming language using ANTLR library. The lexer is done using Regular Expressions and the parser is represented as a pure CFG grammer. AST (Abstract Syntax Tree) is done by extending the parser CFG with classes for each production and Symbol table and type verification are done using Java HashTables.