Module glr

Source
Expand description

Analysis of the GLR/LR(k) behaviour of a grammar.

Structs§

Conflict
A conflict between multiple actions triggered by the same symbol.
ConflictArc
A subspace of a parser’s state space within which a conflict is active.
ConflictLane
An individual point in the state space tracked by a conflict node. Lanes represent the sequences of reductions that happen in between shifts. They may have back-edges to lanes in earlier nodes to represent the state of the stack at various points.
ConflictLaneId
A unique identifier for a lane in a conflict node.
ConflictNode
A node in a conflict arc.
ConflictNodeId
A unique identifier for a node in a conflict arc.
GlrAnalysis
An analysis of conflicts and their resolvability via GLR/LR(k).
LocalAmbiguity
A local ambiguity in a grammar.
Reconv
A point of reconvergence in a conflict arc.
RuleSlice
A resolution to a local ambiguity in a grammar.

Enums§

ConflictEdge
An edge from one conflict node to another.

Functions§

find_conflict_arc
Find the arc of a conflict.
find_conflicts
Find the conflict points in the item sets of a grammar where the same symbol would lead to two different actions.
find_local_ambiguity
Find the local ambiguity associated with a point of reconvergence.
find_reconvergences
Find all points of reconvergence in an arc.
resolve_local_ambiguity
Identify the rule slices which must be unified to resolve an ambiguity.