Compilers
Description
Programming paradigms, compilation, interpretation, virtual machines. Lexical analysis, regular expressions, and finite automata. Parsing, context-free grammars, and push-down automata. Semantic analysis, scope and name analysis, type checking. Intermediate representations. Control flow. Data types and storage management. Code generation.
Course material is distributed through gitlab
Grade Scheme
- Labs - 36%
- Lab 0 - 1%
- Otherwise - 0%
- Quizzes - 4%
- Midterm - 10%
- Final Exam - 50%
Concepts
- Compilers
- Programming Languages
- Formal Language Theory
- Lexical Analysis
- Parsing
- Code Generation
- Regular Languages
- ReGex
- Recognizer
- TDD
- W Language
- EBNF
- OOP
- Object Diagrams
- Aliasing
- Immutability
- Time Complexity
- Inverse Functions
- Decompiling
- Object Contract
- Finite Automaton
- Syntax Directed Translation
- Equals
- Isomorphic
- Equivalent
- Semantic Analysis
- Compiler Simplification
- Language
- Grammar
- LL(1)
- Unnecessary Complexity
- Set Comprehension
- Compiler Optimizations
- Register Allocation
- Garbage Collection
Lab workflow
