Useful Links
Computer Science
Programming
Compiler Design
1. Introduction to Compilation
2. Programming Language Foundations
3. Formal Language Theory
4. Lexical Analysis
5. Syntax Analysis
6. Semantic Analysis
7. Intermediate Code Generation
8. Code Optimization
9. Code Generation
10. Runtime Environment
11. Advanced Compilation Topics
12. Compiler Construction Tools and Techniques
Formal Language Theory
Basic Concepts
Alphabets
Strings
Languages
Operations on Languages
Regular Languages
Regular Expressions
Basic Operators
Extended Operators
Regular Definitions
Algebraic Laws
Finite Automata
Deterministic Finite Automata
Nondeterministic Finite Automata
Epsilon Transitions
Equivalence of DFA and NFA
NFA to DFA Conversion
Subset Construction Algorithm
State Explosion Problem
DFA Minimization
Equivalent States
Partition Refinement Algorithm
Minimal DFA Construction
Regular Language Properties
Closure Properties
Decision Problems
Pumping Lemma
Context-Free Languages
Context-Free Grammars
Grammar Components
Production Rules
Derivation Process
Language Generation
Derivations and Parse Trees
Leftmost Derivation
Rightmost Derivation
Parse Tree Construction
Derivation Equivalence
Grammar Ambiguity
Ambiguous Grammars
Inherent Ambiguity
Disambiguation Techniques
Precedence and Associativity
Normal Forms
Chomsky Normal Form
Greibach Normal Form
Transformation Algorithms
Pushdown Automata
PDA Components
Configuration and Transitions
Acceptance Conditions
Equivalence with CFGs
Context-Free Language Properties
Closure Properties
Pumping Lemma for CFLs
Decision Problems
Previous
2. Programming Language Foundations
Go to top
Next
4. Lexical Analysis