UsefulLinks
Computer Science
Programming
Programming Language Theory
1. Introduction to Programming Language Theory
2. Mathematical Foundations
3. Lambda Calculus
4. Syntax and Parsing
5. Formal Semantics
6. Type Systems
7. Programming Language Features
8. Implementation Strategies
9. Advanced Topics
4.
Syntax and Parsing
4.1.
Concrete vs Abstract Syntax
4.1.1.
Surface Syntax Representation
4.1.2.
Abstract Syntax Trees
4.1.3.
Desugaring Process
4.2.
Grammar Formalisms
4.2.1.
Backus-Naur Form
4.2.1.1.
Production Rules
4.2.1.2.
Terminal and Nonterminal Symbols
4.2.2.
Extended Backus-Naur Form
4.2.2.1.
Optional Elements
4.2.2.2.
Repetition
4.2.2.3.
Alternation
4.2.3.
Context-Free Grammars
4.2.3.1.
Derivations
4.2.3.2.
Parse Trees
4.2.3.3.
Ambiguity
4.3.
Lexical Analysis
4.3.1.
Tokenization Process
4.3.2.
Regular Expressions for Tokens
4.3.3.
Lexical Errors
4.3.4.
Reserved Words and Identifiers
4.4.
Parsing Techniques
4.4.1.
Top-Down Parsing
4.4.1.1.
Recursive Descent
4.4.1.2.
LL Parsing
4.4.1.3.
LL(1) Grammars
4.4.1.4.
First and Follow Sets
4.4.2.
Bottom-Up Parsing
4.4.2.1.
Shift-Reduce Parsing
4.4.2.2.
LR Parsing
4.4.2.3.
LR(0) Items
4.4.2.4.
SLR Parsing
4.4.2.5.
LALR Parsing
4.4.3.
Error Recovery
4.4.3.1.
Panic Mode Recovery
4.4.3.2.
Phrase-Level Recovery
4.4.3.3.
Error Productions
Previous
3. Lambda Calculus
Go to top
Next
5. Formal Semantics