Module perplex::glr[][src]

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.