RIPAL: Responsive and Intuitive Parsing for the Analysis of Language
Pages
Chapters
- Language fundamentals
- What is a language?
- What is parsing?
- Language examples
- Finite languages
- What is a finite language?
- Recognizing finite languages
- Intro to regular languages
- What is a regular language?
- Regular expressions
- Order of operations in regular expressions
- Examples of complex regular expressions
- Relation to finite languages
- Automata for recognizing regular languages
- Deterministic finite automata
- Nondeterministic finite automata
- ε-nondeterministic finite automata
- A comparison of approaches
- Regular language automaton construction
- Thompson's construction
- Converting an ε-NFA to an NFA
- Converting an NFA to a DFA
- Intro to context-free languages
- Context-free grammars
- Parse trees
- Derivation types
- Relation to regular languages
- Into to top-down parsing
- Top-down parsing motivations
- The LL(1) parsing algorithm
- The LL(1) parse table
- The LL(1) parsing algorithm
- LL(1) parser construction
- First sets
- Basic LL(1) parser construction
- LL(1) ε motivations
- Follow sets
- ε handling in LL(1) parser construction
- Handling end-of-string productions
- Intro to bottom-up parsing
- Bottom-up parsing motivations
- The LR(0) parsing algorithm
- Core LR parsing process
- LR state management motivations
- The LR goto action
- The LR(0) parse table
- LR(0) parse example - single terminal
- LR(0) parse example - multiple terminals
- LR(0) parse example - the empty string
- LR(0) parse example - production chain
- LR(0) parse example - ε production chain
- LR(0) parse example - multi-nonterminal production
- LR(0) parser construction
- LR(0) parser construction motivations
- LR(0) closure motivations
- LR(0) production dot symbol
- LR(0) basic closure calculation example
- LR(0) complex closure calculation example
- LR(0) ε closure calculation example
- LR(0) closure definition
- LR(0) ε state machine
- LR(0) single-terminal state machine
- LR(0) multi-terminal state machine
- LR(0) production chain state machine
- LR(0) ε production chain state machine
- LR(0) multi-nonterminal production state machine
- LR(0) parse table construction motivations
- LR(0) single-terminal parse table construction
- LR(0) parser construction
- SLR(1) parser construction
- SLR(1) parser construction
- LR(1) parser construction
- LR(1) parser construction
GitHub Repository: https://github.com/bprollinson/ripal
Copyright © 2017 Brendan Rollinson-Lorimer