Compiler Design Topics
Compiler Design Topics
4. Grammar
a. Types of Grammar
b. Regular expressions
(https://www.javatpoint.com/examples-of-regular-expression
RegEx from Algorithms Book.pdf
Kleene star symbols.txt
)
c. Deterministic Finite Automata
(
d. Context free grammar
(https://www.javatpoint.com/automata-context-free-grammar
)
e. Ambiquous, Unambiguous
(https://www.javatpoint.com/automata-ambiguity-in-grammar
https://www.javatpoint.com/eliminating-ambiguity-of-a-context-free-
grammar
)
f. Derivation - Left recursion, Right recursion
(https://www.javatpoint.com/automata-derivation
)
g. Derivation Tree
(https://www.javatpoint.com/automata-derivation-tree
)
h. Reduction
i. Left factoring
(https://www.gatevidyalay.com/left-factoring-examples-compiler-
design/
)
5. Parser
a. Types of parsing
(https://www.tutorialspoint.com/compiler_design/
compiler_design_types_of_parsing.htm
)
b. FIRST set, FOLLOW set
(https://www.gatevidyalay.com/first-and-follow-compiler-design/
FOLLOW set rules.pdf
)
c. Top down parsing
i. Recursive descent parser
(Recursive descent parsing.docx)
ii. LL(1) parser
d. Bottom up parsing
i. Shift reduce parser
(https://www.javatpoint.com/parser
https://www.javatpoint.com/shift-reduce-parsing
)
ii. LR(1)
(LR parser. Pdf
https://www.javatpoint.com/lr-parser
https://www.javatpoint.com/canonical-collection-of-lr-0-items
https://www.javatpoint.com/lalr-1-parsing
Extra: https://www.geeksforgeeks.org/problem-on-lr0-parser/?
ref=next_article
)
iii. LALR(1)
(https://www.geeksforgeeks.org/lalr-parser-with-examples/?
ref=ml_lbp
)