Understood phases of compiler design including lexical analysis, parsing, semantic analysis, and code generation.
Implemented tokenizers and parsers using tools like Lex and Yacc.
Designed finite automata and context-free grammars for language recognition.
Analyzed syntax trees and generated intermediate code.
Explored optimization techniques and error handling in compilers.
Learned Compiler Design as part of the academic syllabus, supplemented with online resources and reference books. Gained a deep understanding of how source code is translated into executable programs, covering topics like lexical analysis, parsing techniques (LL/LR), syntax and semantic analysis, intermediate code generation, optimization, and code generation. Explored tools and algorithms used in real-world compilers. Practiced designing components of a basic compiler using theoretical models and programming logic.