pub enum SurfaceSyntaxTree<'a> {
Show 25 variants
Grammar {
lexer: SpanBox<'a, Self>,
parser: SpanBox<'a, Self>,
},
Parser {
entrypoint: WithSpan<'a, ()>,
rules: Vec<WithSpan<'a, Self>>,
},
Lexer {
rules: Vec<WithSpan<'a, Self>>,
},
LexicalAlternative {
lhs: SpanBox<'a, Self>,
rhs: SpanBox<'a, Self>,
},
LexicalSequence {
lhs: SpanBox<'a, Self>,
rhs: SpanBox<'a, Self>,
},
LexicalStar {
inner: SpanBox<'a, Self>,
},
LexicalPlus {
inner: SpanBox<'a, Self>,
},
LexicalOptional {
inner: SpanBox<'a, Self>,
},
LexicalNot {
inner: SpanBox<'a, Self>,
},
ParserAlternative {
lhs: SpanBox<'a, Self>,
rhs: SpanBox<'a, Self>,
},
ParserSequence {
lhs: SpanBox<'a, Self>,
rhs: SpanBox<'a, Self>,
},
ParserStar {
inner: SpanBox<'a, Self>,
},
ParserPlus {
inner: SpanBox<'a, Self>,
},
ParserOptional {
inner: SpanBox<'a, Self>,
},
LexicalDefinition {
name: WithSpan<'a, ()>,
expr: SpanBox<'a, Self>,
},
LexicalToken {
active: bool,
name: WithSpan<'a, ()>,
expr: SpanBox<'a, Self>,
},
Range {
start: char,
end: char,
},
String(String),
Bottom,
Empty,
Char {
value: WithSpan<'a, char>,
},
ParserDefinition {
active: bool,
name: WithSpan<'a, ()>,
expr: SpanBox<'a, Self>,
},
ParserFixpoint {
active: bool,
name: WithSpan<'a, ()>,
expr: SpanBox<'a, Self>,
},
ParserRuleRef {
name: WithSpan<'a, ()>,
},
LexicalRuleRef {
name: WithSpan<'a, ()>,
},
}
Variants§
Grammar
Parser
Lexer
LexicalAlternative
LexicalSequence
LexicalStar
LexicalPlus
LexicalOptional
LexicalNot
ParserAlternative
ParserSequence
ParserStar
ParserPlus
ParserOptional
LexicalDefinition
LexicalToken
Range
String(String)
Bottom
Empty
Char
ParserDefinition
ParserFixpoint
ParserRuleRef
LexicalRuleRef
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for SurfaceSyntaxTree<'a>
impl<'a> RefUnwindSafe for SurfaceSyntaxTree<'a>
impl<'a> Send for SurfaceSyntaxTree<'a>
impl<'a> Sync for SurfaceSyntaxTree<'a>
impl<'a> Unpin for SurfaceSyntaxTree<'a>
impl<'a> UnwindSafe for SurfaceSyntaxTree<'a>
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