pub struct DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex> { /* private fields */ }Trait Implementations§
Source§impl<TermClass, NonTerm, RuleContainer, StateIndex> Clone for DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>
impl<TermClass, NonTerm, RuleContainer, StateIndex> Clone for DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>
Source§fn clone(
&self,
) -> DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>
fn clone( &self, ) -> DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<TermClass, NonTerm, RuleContainer, StateIndex> Debug for DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>
impl<TermClass, NonTerm, RuleContainer, StateIndex> Debug for DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>
Source§impl<TermClass, NonTerm, RuleContainer, StateIndex> From<IntermediateTables<TermClass, NonTerm>> for DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>where
TermClass: TerminalClass + Ord,
NonTerm: NonTerminal + Ord,
StateIndex: Index,
RuleContainer: Clone + ReduceRules,
<RuleContainer as ReduceRules>::RuleIndex: TryFrom<usize>,
impl<TermClass, NonTerm, RuleContainer, StateIndex> From<IntermediateTables<TermClass, NonTerm>> for DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>where
TermClass: TerminalClass + Ord,
NonTerm: NonTerminal + Ord,
StateIndex: Index,
RuleContainer: Clone + ReduceRules,
<RuleContainer as ReduceRules>::RuleIndex: TryFrom<usize>,
Source§fn from(
intermediate: IntermediateTables<TermClass, NonTerm>,
) -> DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>
fn from( intermediate: IntermediateTables<TermClass, NonTerm>, ) -> DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>
Converts to this type from the input type.
Source§impl<TermClass, NonTerm, RuleContainer, StateIndex> ParserTables for DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>where
TermClass: TerminalClass + Ord,
NonTerm: NonTerminal + Ord,
RuleContainer: ReduceRules,
StateIndex: Index,
impl<TermClass, NonTerm, RuleContainer, StateIndex> ParserTables for DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>where
TermClass: TerminalClass + Ord,
NonTerm: NonTerminal + Ord,
RuleContainer: ReduceRules,
StateIndex: Index,
type TermClass = TermClass
type NonTerm = NonTerm
type ReduceRules = RuleContainer
type StateIndex = StateIndex
Source§fn term_action(
&self,
state: usize,
class: <DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex> as ParserTables>::TermClass,
) -> Option<TermActionRef<'_, <DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex> as ParserTables>::ReduceRules, <DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex> as ParserTables>::StateIndex>>
fn term_action( &self, state: usize, class: <DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex> as ParserTables>::TermClass, ) -> Option<TermActionRef<'_, <DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex> as ParserTables>::ReduceRules, <DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex> as ParserTables>::StateIndex>>
Returns the merged terminal action for
(state, terminal_class). Read moreSource§fn shift_goto_nonterm(
&self,
state: usize,
nonterm: <DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex> as ParserTables>::NonTerm,
) -> Option<ShiftTarget<<DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex> as ParserTables>::StateIndex>>
fn shift_goto_nonterm( &self, state: usize, nonterm: <DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex> as ParserTables>::NonTerm, ) -> Option<ShiftTarget<<DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex> as ParserTables>::StateIndex>>
Returns the goto transition after reducing to
nonterm.fn is_accept(&self, state: usize) -> bool
fn expected_shift_term( &self, state: usize, ) -> impl Iterator<Item = <DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex> as ParserTables>::TermClass>
fn expected_shift_nonterm( &self, state: usize, ) -> impl Iterator<Item = <DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex> as ParserTables>::NonTerm>
fn expected_reduce_rule(&self, state: usize) -> impl Iterator<Item = impl Index>
Source§fn rule(
&self,
rule: usize,
) -> &RuleInfo<<DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex> as ParserTables>::NonTerm>
fn rule( &self, rule: usize, ) -> &RuleInfo<<DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex> as ParserTables>::NonTerm>
Returns compact rule metadata used while reducing.
fn state_count(&self) -> usize
fn rule_count(&self) -> usize
fn shift_goto_class( &self, state: usize, class: Self::TermClass, ) -> Option<ShiftTarget<Self::StateIndex>>
fn reduce( &self, state: usize, class: Self::TermClass, ) -> Option<&Self::ReduceRules>
Auto Trait Implementations§
impl<TermClass, NonTerm, RuleContainer, StateIndex> Freeze for DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>
impl<TermClass, NonTerm, RuleContainer, StateIndex> RefUnwindSafe for DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>where
TermClass: RefUnwindSafe,
NonTerm: RefUnwindSafe,
RuleContainer: RefUnwindSafe,
StateIndex: RefUnwindSafe,
impl<TermClass, NonTerm, RuleContainer, StateIndex> Send for DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>
impl<TermClass, NonTerm, RuleContainer, StateIndex> Sync for DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>
impl<TermClass, NonTerm, RuleContainer, StateIndex> Unpin for DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>
impl<TermClass, NonTerm, RuleContainer, StateIndex> UnsafeUnpin for DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>
impl<TermClass, NonTerm, RuleContainer, StateIndex> UnwindSafe for DenseFlatTables<TermClass, NonTerm, RuleContainer, StateIndex>where
TermClass: UnwindSafe,
NonTerm: UnwindSafe,
RuleContainer: UnwindSafe,
StateIndex: UnwindSafe,
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