Skip to content
Back to categories

Parsing

Algorithms that turn text into structured meaning.

Parsing algorithms read tokens or strings and build structure according to grammar or expression rules.

ParsingO(n)

Recursive Descent Parsing

Parses input with one function per grammar rule.

IntermediateFoundationNo formula20 links
ParsingRecursionGrammar
ParsingO(n)

Pratt Parsing

Parses expressions by assigning binding powers to tokens and recursing by precedence.

IntermediateCoreNo formula5 links
ParsingStringsGrammar
ParsingO(n^3 |G|)

CYK Algorithm

Checks whether a string can be generated by a context-free grammar.

AdvancedSpecializedFormula2 links
ParsingGrammarDynamic Programming
ParsingO(n)

Dijkstra's Two-Stack Algorithm

Evaluates fully parenthesized expressions with separate stacks for operators and values.

BeginnerCoreFormula2 links
ParsingExpression ParsingStack
ParsingO(n^2)

Earley Parser

Parses general context-free grammars with a chart of partial parse states.

AdvancedSpecializedNo formula3 links
ParsingChart ParsingGrammarDynamic Programming
ParsingO(n)

LL Parsing

Parses input from left to right using leftmost derivations.

IntermediateCoreNo formula3 links
ParsingTop-Down ParsingGrammar
ParsingO(n)

LR Parsing

Parses input bottom-up with shift and reduce actions.

AdvancedCoreNo formula8 links
ParsingBottom-Up ParsingGrammarStack
ParsingO(n)

Operator Precedence Parsing

Parses expressions by comparing precedence relations between operators.

IntermediateCoreNo formula1 links
ParsingExpression ParsingBottom-Up Parsing
ParsingO(n)

Packrat Parsing

Parses with memoized recursive descent for linear-time parsing expression grammars.

AdvancedExtendedNo formula2 links
ParsingMemoizationTop-Down Parsing
ParsingO(n)

Shunting Yard Algorithm

Converts infix expressions to postfix form using operator and output stacks.

IntermediateCoreNo formula2 links
ParsingExpression ParsingStackClassic
ParsingO(n) with memoization

PEG Parsing

Parses text using ordered-choice grammar rules that describe one intended parse.

IntermediateCoreNo formula2 links
ParsingPEGTop-Down ParsingGrammar
ParsingO(n)

Tokenization

Breaks raw text into meaningful tokens before parsing or analysis.

BeginnerFoundationNo formula6 links
ParsingTokenizationStrings
ParsingO(n * rules)

Parser Combinators

Builds parsers by composing small parser functions into larger grammar rules.

IntermediateCoreFormula1 links
ParsingTop-Down ParsingParser GeneratorFunctional Programming
ParsingO(2^n)

DFA Construction

Builds a deterministic finite automaton by grouping NFA state sets into DFA states.

IntermediateCoreFormula6 links
ParsingAutomatonRegular ExpressionTokenization
ParsingO(input_length * states)

NFA Simulation

Matches input by tracking all possible nondeterministic automaton states.

IntermediateCoreFormula3 links
ParsingAutomatonRegular ExpressionTokenization
ParsingO(regex length)

Thompson's Construction

Compiles a regular expression into an epsilon-NFA using small pattern fragments.

IntermediateCoreNo formula2 links
ParsingAutomatonRegular ExpressionParser Generator
ParsingO(n^3)

GLR Parsing

Parses ambiguous or nondeterministic grammars by following multiple LR parse paths.

AdvancedSpecializedNo formula3 links
ParsingBottom-Up ParsingGrammarAmbiguous Grammar
ParsingO(n)

LALR Parsing

Builds compact LR-style parse tables by merging states with the same cores.

AdvancedCoreFormula2 links
ParsingBottom-Up ParsingGrammarParser Generator
ParsingO(iterations * grammar size)

FIRST/FOLLOW Set Computation

Computes grammar symbol sets used to predict valid parser choices.

IntermediateCoreFormula3 links
ParsingGrammar AnalysisTop-Down ParsingParser Generator
ParsingO(grammar size)

LL(1) Parse Table Construction

Builds a predictive parsing table from FIRST and FOLLOW sets.

IntermediateCoreFormula2 links
ParsingTop-Down ParsingGrammar AnalysisParser Generator
ParsingO(n)

Canonical LR Parsing

Canonical LR Parsing uses grammar states and parse tables to recognize syntax.

IntermediateCoreNo formula1 links
Parsing
ParsingO(n)

SLR Parsing

SLR Parsing uses grammar states and parse tables to recognize syntax.

IntermediateCoreNo formula1 links
Parsing
ParsingO(n)

Recursive Ascent Parsing

Recursive Ascent Parsing turns grammar rules and token streams into structured syntax.

IntermediateCoreNo formula1 links
Parsing
ParsingO(n)

Precedence Climbing

Precedence Climbing turns grammar rules and token streams into structured syntax.

IntermediateCoreNo formula2 links
Parsing
ParsingO(n)

Left Recursion Elimination

Left Recursion Elimination turns grammar rules and token streams into structured syntax.

IntermediateCoreFormula1 links
Parsing
ParsingO(n)

Left Factoring

Left Factoring turns grammar rules and token streams into structured syntax.

IntermediateCoreNo formula1 links
Parsing
ParsingO(n)

Panic Mode Error Recovery

Panic Mode Error Recovery recovers from syntax errors without abandoning the whole parse.

IntermediateCoreNo formula1 links
Parsing
ParsingO(n)

Phrase-Level Error Recovery

Phrase-Level Error Recovery recovers from syntax errors without abandoning the whole parse.

IntermediateCoreNo formula1 links
Parsing
ParsingO(n)

Incremental Parsing

Incremental Parsing turns grammar rules and token streams into structured syntax.

IntermediateExtendedNo formula1 links
Parsing
ParsingO(n)

Island Parsing

Island Parsing turns grammar rules and token streams into structured syntax.

IntermediateExtendedNo formula1 links
Parsing
ParsingO(n)

Scannerless Parsing

Scannerless Parsing turns grammar rules and token streams into structured syntax.

IntermediateExtendedNo formula1 links
Parsing
ParsingO(n)

Lexical Tie-In Parsing

Lexical Tie-In Parsing turns grammar rules and token streams into structured syntax.

IntermediateSpecializedNo formula1 links
Parsing
ParsingO(n)

Abstract Syntax Tree Construction

Abstract Syntax Tree Construction turns grammar rules and token streams into structured syntax.

IntermediateCoreNo formula1 links
Parsing
ParsingO(n)

Parse Forest Construction

Parse Forest Construction turns grammar rules and token streams into structured syntax.

IntermediateExtendedNo formula3 links
Parsing
ParsingO(n)

Attribute Grammar Evaluation

Attribute Grammar Evaluation turns grammar rules and token streams into structured syntax.

IntermediateExtendedNo formula1 links
Parsing
ParsingO(n)

Syntax Directed Translation

Syntax Directed Translation turns grammar rules and token streams into structured syntax.

IntermediateExtendedNo formula1 links
Parsing
ParsingO(n)

DFA Minimization

DFA Minimization builds or runs finite automata over tokens.

IntermediateCoreFormula3 links
Parsing
ParsingO(n)

Regular Expression Derivative Parsing

Regular Expression Derivative Parsing builds or runs finite automata over tokens.

IntermediateExtendedFormula1 links
Parsing
ParsingO(n log n)

Hopcroft DFA Minimization

Minimizes a DFA by repeatedly splitting state partitions with distinguishing transitions.

IntermediateCoreNo formula3 links
Parsing
ParsingO(n log n)

Brzozowski DFA Minimization

Brzozowski DFA Minimization addresses finite-state machine minimization by reversing and determinizing the automaton twice.

IntermediateExtendedNo formula3 links
Parsing
ParsingO(n log n)

LR(1) Item Set Construction

Builds canonical LR(1) parser states from grammar items with lookahead symbols.

IntermediateCoreNo formula3 links
Parsing
ParsingO(n log n)

GLL Parsing

GLL Parsing addresses general context-free parsing by using graph-structured stacks to explore multiple parse paths.

IntermediateExtendedNo formula2 links
ParsingGraph
ParsingO(n log n)

Recursive Transition Network

Recursive Transition Network addresses grammar-driven parsing by representing grammar rules as transition graphs that call one another.

IntermediateExtendedNo formula2 links
ParsingGraph