RIPAL: Responsive and Intuitive Parsing for the Analysis of Language

Pages

Chapters

  1. Language fundamentals
    1. What is a language?
    2. What is parsing?
    3. Language examples
  2. Finite languages
    1. What is a finite language?
    2. Recognizing finite languages
  3. Intro to regular languages
    1. What is a regular language?
    2. Regular expressions
    3. Order of operations in regular expressions
    4. Examples of complex regular expressions
    5. Relation to finite languages
  4. Automata for recognizing regular languages
    1. Deterministic finite automata
    2. Nondeterministic finite automata
    3. ε-nondeterministic finite automata
    4. A comparison of approaches
  5. Regular language automaton construction
    1. Thompson's construction
    2. Converting an ε-NFA to an NFA
    3. Converting an NFA to a DFA
  6. Intro to context-free languages
    1. Context-free grammars
    2. Parse trees
    3. Derivation types
    4. Relation to regular languages
  7. Into to top-down parsing
    1. Top-down parsing motivations
  8. The LL(1) parsing algorithm
    1. The LL(1) parse table
    2. The LL(1) parsing algorithm
  9. LL(1) parser construction
    1. First sets
    2. Basic LL(1) parser construction
    3. LL(1) ε motivations
    4. Follow sets
    5. ε handling in LL(1) parser construction
    6. Handling end-of-string productions
  10. Intro to bottom-up parsing
    1. Bottom-up parsing motivations
  11. The LR(0) parsing algorithm
    1. Core LR parsing process
    2. LR state management motivations
    3. The LR goto action
    4. The LR(0) parse table
    5. LR(0) parse example - single terminal
    6. LR(0) parse example - multiple terminals
    7. LR(0) parse example - the empty string
    8. LR(0) parse example - production chain
    9. LR(0) parse example - ε production chain
    10. LR(0) parse example - multi-nonterminal production
  12. LR(0) parser construction
    1. LR(0) parser construction motivations
    2. LR(0) closure motivations
    3. LR(0) production dot symbol
    4. LR(0) basic closure calculation example
    5. LR(0) complex closure calculation example
    6. LR(0) ε closure calculation example
    7. LR(0) closure definition
    8. LR(0) ε state machine
    9. LR(0) single-terminal state machine
    10. LR(0) multi-terminal state machine
    11. LR(0) production chain state machine
    12. LR(0) ε production chain state machine
    13. LR(0) multi-nonterminal production state machine
    14. LR(0) parse table construction motivations
    15. LR(0) single-terminal parse table construction
    16. LR(0) parser construction
  13. SLR(1) parser construction
    1. SLR(1) parser construction
  14. LR(1) parser construction
    1. LR(1) parser construction

GitHub Repository: https://github.com/bprollinson/ripal

Copyright © 2017 Brendan Rollinson-Lorimer