Trait cfg::history::RewriteSequence
[−]
[src]
pub trait RewriteSequence { type Rewritten; fn top(
&self,
rhs: Symbol,
sep: Option<Symbol>,
new_rhs: &[Symbol]
) -> Self::Rewritten; fn bottom(
&self,
rhs: Symbol,
sep: Option<Symbol>,
new_rhs: &[Symbol]
) -> Self::Rewritten; }
Trait for history types that allow the sequence rule to be rewritten into grammar rules.
Associated Types
type Rewritten
Must be an Action
, because all created grammar rules except the topmost one will have
no-op semantic action.
Required Methods
fn top(
&self,
rhs: Symbol,
sep: Option<Symbol>,
new_rhs: &[Symbol]
) -> Self::Rewritten
&self,
rhs: Symbol,
sep: Option<Symbol>,
new_rhs: &[Symbol]
) -> Self::Rewritten
Returns a history. May record the rewrite.
fn bottom(
&self,
rhs: Symbol,
sep: Option<Symbol>,
new_rhs: &[Symbol]
) -> Self::Rewritten
&self,
rhs: Symbol,
sep: Option<Symbol>,
new_rhs: &[Symbol]
) -> Self::Rewritten
Returns a history. May record the rewrite.
Implementors
impl RewriteSequence for NullHistory
impl<'a, T> RewriteSequence for &'a T where
T: RewriteSequence,