Enum mech_core::nodes::ParserNode
source · pub enum ParserNode {
Show 163 variants
Root {
children: Vec<ParserNode>,
},
Fragment {
children: Vec<ParserNode>,
},
Head {
children: Vec<ParserNode>,
},
Body {
children: Vec<ParserNode>,
},
Block {
children: Vec<ParserNode>,
src_range: SourceRange,
},
Statement {
children: Vec<ParserNode>,
src_range: SourceRange,
},
Expression {
children: Vec<ParserNode>,
},
MathExpression {
children: Vec<ParserNode>,
},
SelectExpression {
children: Vec<ParserNode>,
},
Data {
children: Vec<ParserNode>,
},
Whenever {
children: Vec<ParserNode>,
},
Wait {
children: Vec<ParserNode>,
},
Until {
children: Vec<ParserNode>,
},
SetData {
children: Vec<ParserNode>,
},
SplitData {
children: Vec<ParserNode>,
},
FlattenData {
children: Vec<ParserNode>,
},
Binding {
children: Vec<ParserNode>,
},
FunctionBinding {
children: Vec<ParserNode>,
},
UserFunction {
children: Vec<ParserNode>,
},
FunctionBody {
children: Vec<ParserNode>,
},
FunctionArgs {
children: Vec<ParserNode>,
},
FunctionInput {
children: Vec<ParserNode>,
},
FunctionOutput {
children: Vec<ParserNode>,
},
DotIndex {
children: Vec<ParserNode>,
},
Swizzle {
children: Vec<ParserNode>,
},
SubscriptIndex {
children: Vec<ParserNode>,
},
Range,
VariableDefine {
children: Vec<ParserNode>,
},
TableDefine {
children: Vec<ParserNode>,
},
FollowedBy {
children: Vec<ParserNode>,
},
TableSelect {
children: Vec<ParserNode>,
},
EmptyTable {
children: Vec<ParserNode>,
},
InlineTable {
children: Vec<ParserNode>,
},
TableHeader {
children: Vec<ParserNode>,
},
Attribute {
children: Vec<ParserNode>,
},
TableRow {
children: Vec<ParserNode>,
},
Comment {
children: Vec<ParserNode>,
},
KindAnnotation {
children: Vec<ParserNode>,
},
AddRow {
children: Vec<ParserNode>,
},
Transformation {
children: Vec<ParserNode>,
},
Quantity {
children: Vec<ParserNode>,
},
Token {
token: Token,
chars: Vec<char>,
src_range: SourceRange,
},
Add,
Subtract,
Multiply,
MatrixMultiply,
Divide,
Exponent,
LessThan,
GreaterThan,
GreaterThanEqual,
LessThanEqual,
Equal,
NotEqual,
And,
Or,
Xor,
AddUpdate,
SubtractUpdate,
MultiplyUpdate,
DivideUpdate,
ExponentUpdate,
SelectAll,
Empty,
True,
False,
ReshapeColumn,
RationalNumber {
children: Vec<ParserNode>,
},
Paragraph {
children: Vec<ParserNode>,
},
UnorderedList {
children: Vec<ParserNode>,
},
ListItem {
children: Vec<ParserNode>,
},
InlineCode {
children: Vec<ParserNode>,
},
CodeBlock {
children: Vec<ParserNode>,
},
InlineMechCode {
children: Vec<ParserNode>,
},
MechCodeBlock {
children: Vec<ParserNode>,
},
Null,
Transpose,
Select {
children: Vec<ParserNode>,
},
Insert {
children: Vec<ParserNode>,
},
Column {
children: Vec<ParserNode>,
},
IdentifierOrConstant {
children: Vec<ParserNode>,
},
Table {
children: Vec<ParserNode>,
},
Number {
children: Vec<ParserNode>,
},
DigitOrComma {
children: Vec<ParserNode>,
},
FilterExpression {
children: Vec<ParserNode>,
},
Comparator {
children: Vec<ParserNode>,
},
InfixOperation {
children: Vec<ParserNode>,
},
Repeat {
children: Vec<ParserNode>,
},
TableIdentifier {
children: Vec<ParserNode>,
},
Identifier {
children: Vec<ParserNode>,
},
Alpha {
children: Vec<ParserNode>,
},
SubscriptList {
children: Vec<ParserNode>,
},
Subscript {
children: Vec<ParserNode>,
},
LogicOperator {
children: Vec<ParserNode>,
},
LogicExpression {
children: Vec<ParserNode>,
},
Index {
children: Vec<ParserNode>,
},
UpdateData {
children: Vec<ParserNode>,
},
SetOperator {
children: Vec<ParserNode>,
},
AddOperator {
children: Vec<ParserNode>,
},
WatchOperator {
children: Vec<ParserNode>,
},
Equality {
children: Vec<ParserNode>,
},
AnonymousTable {
children: Vec<ParserNode>,
},
AnonymousMatrix {
children: Vec<ParserNode>,
},
Constant {
children: Vec<ParserNode>,
},
Infix {
children: Vec<ParserNode>,
},
Program {
children: Vec<ParserNode>,
},
Title {
children: Vec<ParserNode>,
},
Subtitle {
children: Vec<ParserNode>,
},
SectionTitle {
children: Vec<ParserNode>,
},
StatementOrExpression {
children: Vec<ParserNode>,
},
DataOrConstant {
children: Vec<ParserNode>,
},
IdentifierCharacter {
children: Vec<ParserNode>,
},
Node {
children: Vec<ParserNode>,
},
NewLineOrEnd {
children: Vec<ParserNode>,
},
Alphanumeric {
children: Vec<ParserNode>,
},
ParagraphText {
children: Vec<ParserNode>,
},
FormattedText {
children: Vec<ParserNode>,
},
Bold {
children: Vec<ParserNode>,
},
Italic {
children: Vec<ParserNode>,
},
Hyperlink {
children: Vec<ParserNode>,
},
BlockQuote {
children: Vec<ParserNode>,
},
String {
children: Vec<ParserNode>,
},
StringInterpolation {
children: Vec<ParserNode>,
},
Word {
children: Vec<ParserNode>,
},
Emoji {
children: Vec<ParserNode>,
},
Section {
children: Vec<ParserNode>,
},
ProseOrCode {
children: Vec<ParserNode>,
},
Whitespace {
children: Vec<ParserNode>,
},
SpaceOrTab {
children: Vec<ParserNode>,
},
NewLine {
children: Vec<ParserNode>,
},
Text {
children: Vec<ParserNode>,
},
Punctuation {
children: Vec<ParserNode>,
},
L0Infix {
children: Vec<ParserNode>,
},
L1Infix {
children: Vec<ParserNode>,
},
L2Infix {
children: Vec<ParserNode>,
},
L3Infix {
children: Vec<ParserNode>,
},
L4Infix {
children: Vec<ParserNode>,
},
L5Infix {
children: Vec<ParserNode>,
},
L0 {
children: Vec<ParserNode>,
},
L1 {
children: Vec<ParserNode>,
},
L2 {
children: Vec<ParserNode>,
},
L3 {
children: Vec<ParserNode>,
},
L4 {
children: Vec<ParserNode>,
},
L5 {
children: Vec<ParserNode>,
},
L6 {
children: Vec<ParserNode>,
},
Function {
children: Vec<ParserNode>,
},
Negation {
children: Vec<ParserNode>,
},
Not {
children: Vec<ParserNode>,
},
ParentheticalExpression {
children: Vec<ParserNode>,
},
CommentSigil {
children: Vec<ParserNode>,
},
Any {
children: Vec<ParserNode>,
},
Symbol {
children: Vec<ParserNode>,
},
StateMachine {
children: Vec<ParserNode>,
},
StateTransition {
children: Vec<ParserNode>,
},
Value {
children: Vec<ParserNode>,
},
BooleanLiteral {
children: Vec<ParserNode>,
},
NumberLiteral {
children: Vec<ParserNode>,
},
FloatLiteral {
chars: Vec<char>,
src_range: SourceRange,
},
DecimalLiteral {
chars: Vec<char>,
src_range: SourceRange,
},
HexadecimalLiteral {
chars: Vec<char>,
src_range: SourceRange,
},
OctalLiteral {
chars: Vec<char>,
src_range: SourceRange,
},
BinaryLiteral {
chars: Vec<char>,
src_range: SourceRange,
},
Error,
}
Variants§
Root
Fields
§
children: Vec<ParserNode>
Fragment
Fields
§
children: Vec<ParserNode>
Head
Fields
§
children: Vec<ParserNode>
Body
Fields
§
children: Vec<ParserNode>
Block
Statement
Expression
Fields
§
children: Vec<ParserNode>
MathExpression
Fields
§
children: Vec<ParserNode>
SelectExpression
Fields
§
children: Vec<ParserNode>
Data
Fields
§
children: Vec<ParserNode>
Whenever
Fields
§
children: Vec<ParserNode>
Wait
Fields
§
children: Vec<ParserNode>
Until
Fields
§
children: Vec<ParserNode>
SetData
Fields
§
children: Vec<ParserNode>
SplitData
Fields
§
children: Vec<ParserNode>
FlattenData
Fields
§
children: Vec<ParserNode>
Binding
Fields
§
children: Vec<ParserNode>
FunctionBinding
Fields
§
children: Vec<ParserNode>
UserFunction
Fields
§
children: Vec<ParserNode>
FunctionBody
Fields
§
children: Vec<ParserNode>
FunctionArgs
Fields
§
children: Vec<ParserNode>
FunctionInput
Fields
§
children: Vec<ParserNode>
FunctionOutput
Fields
§
children: Vec<ParserNode>
DotIndex
Fields
§
children: Vec<ParserNode>
Swizzle
Fields
§
children: Vec<ParserNode>
SubscriptIndex
Fields
§
children: Vec<ParserNode>
Range
VariableDefine
Fields
§
children: Vec<ParserNode>
TableDefine
Fields
§
children: Vec<ParserNode>
FollowedBy
Fields
§
children: Vec<ParserNode>
TableSelect
Fields
§
children: Vec<ParserNode>
EmptyTable
Fields
§
children: Vec<ParserNode>
InlineTable
Fields
§
children: Vec<ParserNode>
TableHeader
Fields
§
children: Vec<ParserNode>
Attribute
Fields
§
children: Vec<ParserNode>
TableRow
Fields
§
children: Vec<ParserNode>
Comment
Fields
§
children: Vec<ParserNode>
KindAnnotation
Fields
§
children: Vec<ParserNode>
AddRow
Fields
§
children: Vec<ParserNode>
Transformation
Fields
§
children: Vec<ParserNode>
Quantity
Fields
§
children: Vec<ParserNode>
Token
Add
Subtract
Multiply
MatrixMultiply
Divide
Exponent
LessThan
GreaterThan
GreaterThanEqual
LessThanEqual
Equal
NotEqual
And
Or
Xor
AddUpdate
SubtractUpdate
MultiplyUpdate
DivideUpdate
ExponentUpdate
SelectAll
Empty
True
False
ReshapeColumn
RationalNumber
Fields
§
children: Vec<ParserNode>
Paragraph
Fields
§
children: Vec<ParserNode>
UnorderedList
Fields
§
children: Vec<ParserNode>
ListItem
Fields
§
children: Vec<ParserNode>
InlineCode
Fields
§
children: Vec<ParserNode>
CodeBlock
Fields
§
children: Vec<ParserNode>
InlineMechCode
Fields
§
children: Vec<ParserNode>
MechCodeBlock
Fields
§
children: Vec<ParserNode>
Null
Transpose
Select
Fields
§
children: Vec<ParserNode>
Insert
Fields
§
children: Vec<ParserNode>
Column
Fields
§
children: Vec<ParserNode>
IdentifierOrConstant
Fields
§
children: Vec<ParserNode>
Table
Fields
§
children: Vec<ParserNode>
Number
Fields
§
children: Vec<ParserNode>
DigitOrComma
Fields
§
children: Vec<ParserNode>
FilterExpression
Fields
§
children: Vec<ParserNode>
Comparator
Fields
§
children: Vec<ParserNode>
InfixOperation
Fields
§
children: Vec<ParserNode>
Repeat
Fields
§
children: Vec<ParserNode>
TableIdentifier
Fields
§
children: Vec<ParserNode>
Identifier
Fields
§
children: Vec<ParserNode>
Alpha
Fields
§
children: Vec<ParserNode>
SubscriptList
Fields
§
children: Vec<ParserNode>
Subscript
Fields
§
children: Vec<ParserNode>
LogicOperator
Fields
§
children: Vec<ParserNode>
LogicExpression
Fields
§
children: Vec<ParserNode>
Index
Fields
§
children: Vec<ParserNode>
UpdateData
Fields
§
children: Vec<ParserNode>
SetOperator
Fields
§
children: Vec<ParserNode>
AddOperator
Fields
§
children: Vec<ParserNode>
WatchOperator
Fields
§
children: Vec<ParserNode>
Equality
Fields
§
children: Vec<ParserNode>
AnonymousTable
Fields
§
children: Vec<ParserNode>
AnonymousMatrix
Fields
§
children: Vec<ParserNode>
Constant
Fields
§
children: Vec<ParserNode>
Infix
Fields
§
children: Vec<ParserNode>
Program
Fields
§
children: Vec<ParserNode>
Title
Fields
§
children: Vec<ParserNode>
Subtitle
Fields
§
children: Vec<ParserNode>
SectionTitle
Fields
§
children: Vec<ParserNode>
StatementOrExpression
Fields
§
children: Vec<ParserNode>
DataOrConstant
Fields
§
children: Vec<ParserNode>
IdentifierCharacter
Fields
§
children: Vec<ParserNode>
Node
Fields
§
children: Vec<ParserNode>
NewLineOrEnd
Fields
§
children: Vec<ParserNode>
Alphanumeric
Fields
§
children: Vec<ParserNode>
ParagraphText
Fields
§
children: Vec<ParserNode>
FormattedText
Fields
§
children: Vec<ParserNode>
Bold
Fields
§
children: Vec<ParserNode>
Italic
Fields
§
children: Vec<ParserNode>
Hyperlink
Fields
§
children: Vec<ParserNode>
BlockQuote
Fields
§
children: Vec<ParserNode>
String
Fields
§
children: Vec<ParserNode>
StringInterpolation
Fields
§
children: Vec<ParserNode>
Word
Fields
§
children: Vec<ParserNode>
Emoji
Fields
§
children: Vec<ParserNode>
Section
Fields
§
children: Vec<ParserNode>
ProseOrCode
Fields
§
children: Vec<ParserNode>
Whitespace
Fields
§
children: Vec<ParserNode>
SpaceOrTab
Fields
§
children: Vec<ParserNode>
NewLine
Fields
§
children: Vec<ParserNode>
Text
Fields
§
children: Vec<ParserNode>
Punctuation
Fields
§
children: Vec<ParserNode>
L0Infix
Fields
§
children: Vec<ParserNode>
L1Infix
Fields
§
children: Vec<ParserNode>
L2Infix
Fields
§
children: Vec<ParserNode>
L3Infix
Fields
§
children: Vec<ParserNode>
L4Infix
Fields
§
children: Vec<ParserNode>
L5Infix
Fields
§
children: Vec<ParserNode>
L0
Fields
§
children: Vec<ParserNode>
L1
Fields
§
children: Vec<ParserNode>
L2
Fields
§
children: Vec<ParserNode>
L3
Fields
§
children: Vec<ParserNode>
L4
Fields
§
children: Vec<ParserNode>
L5
Fields
§
children: Vec<ParserNode>
L6
Fields
§
children: Vec<ParserNode>
Function
Fields
§
children: Vec<ParserNode>
Negation
Fields
§
children: Vec<ParserNode>
Not
Fields
§
children: Vec<ParserNode>
ParentheticalExpression
Fields
§
children: Vec<ParserNode>
CommentSigil
Fields
§
children: Vec<ParserNode>
Any
Fields
§
children: Vec<ParserNode>
Symbol
Fields
§
children: Vec<ParserNode>
StateMachine
Fields
§
children: Vec<ParserNode>
StateTransition
Fields
§
children: Vec<ParserNode>
Value
Fields
§
children: Vec<ParserNode>
BooleanLiteral
Fields
§
children: Vec<ParserNode>
NumberLiteral
Fields
§
children: Vec<ParserNode>
FloatLiteral
DecimalLiteral
HexadecimalLiteral
OctalLiteral
BinaryLiteral
Error
Trait Implementations§
source§impl Clone for ParserNode
impl Clone for ParserNode
source§fn clone(&self) -> ParserNode
fn clone(&self) -> ParserNode
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ParserNode
impl Debug for ParserNode
source§impl<'de> Deserialize<'de> for ParserNode
impl<'de> Deserialize<'de> for ParserNode
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Hash for ParserNode
impl Hash for ParserNode
source§impl PartialEq<ParserNode> for ParserNode
impl PartialEq<ParserNode> for ParserNode
source§fn eq(&self, other: &ParserNode) -> bool
fn eq(&self, other: &ParserNode) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for ParserNode
impl Serialize for ParserNode
impl Eq for ParserNode
impl StructuralEq for ParserNode
impl StructuralPartialEq for ParserNode
Auto Trait Implementations§
impl RefUnwindSafe for ParserNode
impl Send for ParserNode
impl Sync for ParserNode
impl Unpin for ParserNode
impl UnwindSafe for ParserNode
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.