pub struct ConflictArc { /* private fields */ }Expand description
A subspace of a parser’s state space within which a conflict is active.
A conflict arc is described as nodes with edges in between, the former of which corresponds to a parser state just before a shift action, and the latter to the actual terminals shifted. Each node contains a list of lanes which describe multiple states the parser has to be in due to ambiguities. Each lane represents a sequence of reduce actions and has separate backward edges to the lanes in previous nodes. The nodes are given a rank which represents the number of terminals shifted up to that point. As such the graph describes parallel execution of the parser state machine.
Trait Implementations§
Source§impl Debug for ConflictArc
impl Debug for ConflictArc
Source§impl Index<ConflictNodeId> for ConflictArc
impl Index<ConflictNodeId> for ConflictArc
Source§type Output = ConflictNode
type Output = ConflictNode
The returned type after indexing.
Source§fn index(&self, index: ConflictNodeId) -> &ConflictNode
fn index(&self, index: ConflictNodeId) -> &ConflictNode
Performs the indexing (
container[index]) operation. Read moreSource§impl IndexMut<ConflictNodeId> for ConflictArc
impl IndexMut<ConflictNodeId> for ConflictArc
Source§fn index_mut(&mut self, index: ConflictNodeId) -> &mut ConflictNode
fn index_mut(&mut self, index: ConflictNodeId) -> &mut ConflictNode
Performs the mutable indexing (
container[index]) operation. Read moreAuto Trait Implementations§
impl Freeze for ConflictArc
impl RefUnwindSafe for ConflictArc
impl Send for ConflictArc
impl Sync for ConflictArc
impl Unpin for ConflictArc
impl UnwindSafe for ConflictArc
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more