[][src]Enum mech_syntax::compiler::Node

pub enum Node {
    Root {
        children: Vec<Node>,
    },
    Fragment {
        children: Vec<Node>,
        start: usize,
        end: usize,
    },
    Program {
        children: Vec<Node>,
    },
    Head {
        children: Vec<Node>,
    },
    Body {
        children: Vec<Node>,
    },
    Section {
        children: Vec<Node>,
    },
    Block {
        children: Vec<Node>,
        start: usize,
        end: usize,
    },
    Statement {
        children: Vec<Node>,
    },
    Expression {
        children: Vec<Node>,
    },
    MathExpression {
        children: Vec<Node>,
    },
    FilterExpression {
        comparator: Comparator,
        children: Vec<Node>,
    },
    LogicExpression {
        operator: Logic,
        children: Vec<Node>,
    },
    SelectExpression {
        children: Vec<Node>,
    },
    Data {
        children: Vec<Node>,
    },
    DataWatch {
        children: Vec<Node>,
    },
    SelectData {
        id: TableId,
        children: Vec<Node>,
    },
    SetData {
        children: Vec<Node>,
    },
    Column {
        children: Vec<Node>,
    },
    Binding {
        children: Vec<Node>,
    },
    Function {
        name: String,
        children: Vec<Node>,
    },
    Define {
        name: String,
        id: u64,
    },
    DotIndex {
        column: Vec<Node>,
    },
    SubscriptIndex {
        children: Vec<Node>,
    },
    Range {
        children: Vec<Node>,
    },
    VariableDefine {
        children: Vec<Node>,
    },
    TableDefine {
        children: Vec<Node>,
    },
    AnonymousTableDefine {
        children: Vec<Node>,
    },
    InlineTable {
        children: Vec<Node>,
    },
    TableHeader {
        children: Vec<Node>,
    },
    Attribute {
        children: Vec<Node>,
    },
    TableRow {
        children: Vec<Node>,
    },
    AddRow {
        children: Vec<Node>,
    },
    Constraint {
        children: Vec<Node>,
        start: usize,
        end: usize,
    },
    Title {
        text: String,
    },
    Identifier {
        name: String,
        id: u64,
    },
    Table {
        name: String,
        id: u64,
    },
    Paragraph {
        text: String,
    },
    Constant {
        value: Quantity,
    },
    String {
        text: String,
    },
    Token {
        token: Token,
        byte: u8,
    },
    LessThan,
    GreaterThan,
    And,
    Or,
    SelectAll,
    Empty,
    Null,
}

Variants

Root

Fields of Root

children: Vec<Node>
Fragment

Fields of Fragment

children: Vec<Node>start: usizeend: usize
Program

Fields of Program

children: Vec<Node>
Head

Fields of Head

children: Vec<Node>
Body

Fields of Body

children: Vec<Node>
Section

Fields of Section

children: Vec<Node>
Block

Fields of Block

children: Vec<Node>start: usizeend: usize
Statement

Fields of Statement

children: Vec<Node>
Expression

Fields of Expression

children: Vec<Node>
MathExpression

Fields of MathExpression

children: Vec<Node>
FilterExpression

Fields of FilterExpression

comparator: Comparatorchildren: Vec<Node>
LogicExpression

Fields of LogicExpression

operator: Logicchildren: Vec<Node>
SelectExpression

Fields of SelectExpression

children: Vec<Node>
Data

Fields of Data

children: Vec<Node>
DataWatch

Fields of DataWatch

children: Vec<Node>
SelectData

Fields of SelectData

id: TableIdchildren: Vec<Node>
SetData

Fields of SetData

children: Vec<Node>
Column

Fields of Column

children: Vec<Node>
Binding

Fields of Binding

children: Vec<Node>
Function

Fields of Function

name: Stringchildren: Vec<Node>
Define

Fields of Define

name: Stringid: u64
DotIndex

Fields of DotIndex

column: Vec<Node>
SubscriptIndex

Fields of SubscriptIndex

children: Vec<Node>
Range

Fields of Range

children: Vec<Node>
VariableDefine

Fields of VariableDefine

children: Vec<Node>
TableDefine

Fields of TableDefine

children: Vec<Node>
AnonymousTableDefine

Fields of AnonymousTableDefine

children: Vec<Node>
InlineTable

Fields of InlineTable

children: Vec<Node>
TableHeader

Fields of TableHeader

children: Vec<Node>
Attribute

Fields of Attribute

children: Vec<Node>
TableRow

Fields of TableRow

children: Vec<Node>
AddRow

Fields of AddRow

children: Vec<Node>
Constraint

Fields of Constraint

children: Vec<Node>start: usizeend: usize
Title

Fields of Title

text: String
Identifier

Fields of Identifier

name: Stringid: u64
Table

Fields of Table

name: Stringid: u64
Paragraph

Fields of Paragraph

text: String
Constant

Fields of Constant

value: Quantity
String

Fields of String

text: String
Token

Fields of Token

token: Tokenbyte: u8
LessThanGreaterThanAndOrSelectAllEmptyNull

Trait Implementations

impl PartialEq<Node> for Node[src]

impl Clone for Node[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for Node[src]

Auto Trait Implementations

impl Send for Node

impl Sync for Node

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.