Topics and Sample Questions for the Final exam: (Chapters 1-8 of the Textbook)
Languages
Give the formal definition of a language
Operations on languages (complement, intersection, concatenation, power, reverse, star-closure)
Grammars
Give the formal definition of a grammar
Give the formal definition of a regular grammar
Give the formal definition of a context-free grammar
Give the formal definition of equivalence of two grammars
Give the formal definition of a useless production
Give the formal definition of a nullable variable
Give a grammar that produces the following language ...
Describe the language generated by the grammar below ...
DFAs
Give the formal definition of a DFA
Give the formal definition of the language accepted by a DFA
Give a DFA that accepts the following language ...
Describe the language accepted by the DFA below ...
Minimize the (number of states of the) DFA below ...
NFAs
Give the formal definition of a NFA
Give the formal definition of the language accepted by a NFA
Give an NFA that accepts the following language ...
Describe the language accepted by the NFA below ...
Convert the NFA (with lambda transitions) below into a DFA ...
Regular Expressions
Give the formal definition of a regular expression
Give the formal definition of a language associated with a regular expression
Give a regular expression for the following language ...
Describe the language for the following regular expression ...
Convert the regular expression below into a NFA ...
Convert the DFA/NFA below into a regular expression ...
Regular Languages
Give the formal definition of a regular language
Existance of an algorithm to check membership, to test whether the language is empty, finite/infinite, and to determine whether two languages are equal
Prove that the following regular language is regular (show a DFA, NFA, regular expression, regular grammar) ...
Prove that the following language is not regular (using closure properties or pumping lemma for regular languages) ...
Pumping lemma for regular languages
Closure properties
Context-Free Languages
Give the formal definition of a context-free language
Prove that the following language is context-free (show a context-free grammar or a NPDA) ...
Remove lambda productions from the following context-free grammar ...
Remove unit productions from the following context-free grammar ...
Remove useless productions from the following context-free grammar ...
Convert the following context-free grammar to Chomsky normal form (CNF)
Prove that the following language is not context-free (using closure properties or pumping lemma for CF languages) ...
Determine whether a given string belongs to the language generated by a grammar in CNF, using CYK algorithm
Pumping lemma for context-free languages
Closure properties
Pushdown automata and LL grammars
Give the formal definition of a nondeterministic pushdown automaton (NPDA)
Give the formal definition of the language accepted by a NPDA
Give a NPDA for the following language ...
Describe the language for the following NPDA ...
Give the formal definition of a deterministic pushdown automaton (DPDA)
Give the formal definition of a deterministic context free language
Give a DPDA for the following language ...
Describe the language for the following DPDA ...
Give the formal definition of a LL(k) grammar
Determine whether the following grammar is LL(k) [for some given k] ...
Give a LL(k) grammar that produces the following language ...
NOTE: The list above is representative of the problems that could be on the
final, but not necessarly exhaustive