This document contains a final exam for a compilers course. It consists of 4 questions testing understanding of formal languages, regular expressions, context-free grammars, finite automata, and parsing. Question 1 asks to write regular expressions for 4 languages. Question 2 asks to draw finite automata for 2 languages. Question 3 defines a language of conditional statements and asks about its grammar. Question 4 defines a nested language and asks to analyze its grammar, construct a parsing table, and show top-down and bottom-up parsing steps. The exam tests a wide range of compiler theory topics.