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

pub enum Node {
    Root {
        children: Vec<Node>,
    },
    Fragment {
        children: Vec<Node>,
    },
    Program {
        title: Option<String>,
        children: Vec<Node>,
    },
    Head {
        children: Vec<Node>,
    },
    Body {
        children: Vec<Node>,
    },
    Section {
        title: Option<String>,
        children: Vec<Node>,
    },
    Block {
        children: Vec<Node>,
    },
    Statement {
        children: Vec<Node>,
    },
    Expression {
        children: Vec<Node>,
    },
    MathExpression {
        children: Vec<Node>,
    },
    SelectExpression {
        children: Vec<Node>,
    },
    Data {
        children: Vec<Node>,
    },
    DataWatch {
        children: Vec<Node>,
    },
    SelectData {
        name: String,
        id: TableId,
        children: Vec<Node>,
    },
    SetData {
        children: Vec<Node>,
    },
    SplitData {
        children: Vec<Node>,
    },
    Column {
        children: Vec<Node>,
    },
    Binding {
        children: Vec<Node>,
    },
    FunctionBinding {
        children: Vec<Node>,
    },
    Function {
        name: String,
        children: Vec<Node>,
    },
    Define {
        name: String,
        id: u64,
    },
    DotIndex {
        children: Vec<Node>,
    },
    SubscriptIndex {
        children: Vec<Node>,
    },
    Range,
    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>,
    },
    Comment {
        children: Vec<Node>,
    },
    AddRow {
        children: Vec<Node>,
    },
    Constraint {
        children: Vec<Node>,
    },
    Identifier {
        name: String,
        id: u64,
    },
    Table {
        name: String,
        id: u64,
    },
    Constant {
        value: Quantity,
        unit: Option<String>,
    },
    String {
        text: String,
    },
    Token {
        token: Token,
        byte: u8,
    },
    Add,
    Subtract,
    Multiply,
    Divide,
    Exponent,
    LessThan,
    GreaterThan,
    GreaterThanEqual,
    LessThanEqual,
    Equal,
    NotEqual,
    And,
    Or,
    SelectAll,
    Empty,
    SectionTitle {
        text: String,
    },
    Title {
        text: String,
    },
    ParagraphText {
        text: String,
    },
    Paragraph {
        children: Vec<Node>,
    },
    UnorderedList {
        children: Vec<Node>,
    },
    ListItem {
        children: Vec<Node>,
    },
    InlineCode {
        children: Vec<Node>,
    },
    CodeBlock {
        children: Vec<Node>,
    },
    InlineMechCode {
        children: Vec<Node>,
    },
    MechCodeBlock {
        children: Vec<Node>,
    },
    Null,
}

Variants

Root

Fields of Root

children: Vec<Node>
Fragment

Fields of Fragment

children: Vec<Node>
Program

Fields of Program

title: Option<String>children: Vec<Node>
Head

Fields of Head

children: Vec<Node>
Body

Fields of Body

children: Vec<Node>
Section

Fields of Section

title: Option<String>children: Vec<Node>
Block

Fields of Block

children: Vec<Node>
Statement

Fields of Statement

children: Vec<Node>
Expression

Fields of Expression

children: Vec<Node>
MathExpression

Fields of MathExpression

children: 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

name: Stringid: TableIdchildren: Vec<Node>
SetData

Fields of SetData

children: Vec<Node>
SplitData

Fields of SplitData

children: Vec<Node>
Column

Fields of Column

children: Vec<Node>
Binding

Fields of Binding

children: Vec<Node>
FunctionBinding

Fields of FunctionBinding

children: Vec<Node>
Function

Fields of Function

name: Stringchildren: Vec<Node>
Define

Fields of Define

name: Stringid: u64
DotIndex

Fields of DotIndex

children: Vec<Node>
SubscriptIndex

Fields of SubscriptIndex

children: Vec<Node>
Range
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>
Comment

Fields of Comment

children: Vec<Node>
AddRow

Fields of AddRow

children: Vec<Node>
Constraint

Fields of Constraint

children: Vec<Node>
Identifier

Fields of Identifier

name: Stringid: u64
Table

Fields of Table

name: Stringid: u64
Constant

Fields of Constant

value: Quantityunit: Option<String>
String

Fields of String

text: String
Token

Fields of Token

token: Tokenbyte: u8
Add
Subtract
Multiply
Divide
Exponent
LessThan
GreaterThan
GreaterThanEqual
LessThanEqual
Equal
NotEqual
And
Or
SelectAll
Empty
SectionTitle

Fields of SectionTitle

text: String
Title

Fields of Title

text: String
ParagraphText

Fields of ParagraphText

text: String
Paragraph

Fields of Paragraph

children: Vec<Node>
UnorderedList

Fields of UnorderedList

children: Vec<Node>
ListItem

Fields of ListItem

children: Vec<Node>
InlineCode

Fields of InlineCode

children: Vec<Node>
CodeBlock

Fields of CodeBlock

children: Vec<Node>
InlineMechCode

Fields of InlineMechCode

children: Vec<Node>
MechCodeBlock

Fields of MechCodeBlock

children: Vec<Node>
Null

Trait Implementations

impl Clone for Node[src]

impl Debug for Node[src]

impl PartialEq<Node> for Node[src]

impl StructuralPartialEq for Node[src]

Auto Trait Implementations

impl RefUnwindSafe for Node

impl Send for Node

impl Sync for Node

impl Unpin for Node

impl UnwindSafe for Node

Blanket Implementations

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

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

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

impl<T> From<T> for T[src]

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

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

type Owned = T

The resulting type after obtaining ownership.

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.