clover 0.0.1

A scripting language.
Documentation

#[derive(Debug, PartialEq, Clone)]
pub enum Token {
    Invalid(String),
    Eof,
    None,

    Identifier(String),

    String(String),
    Integer(i64),
    Float(f64),

    True,
    False,
    Null,

    Assign,
    Plus,
    Minus,
    Star,
    Slash,
    PlusAssign,
    MinusAssign,
    StarAssign,
    SlashAssign,

    BitAnd,
    BitOr,

    Not,
    And,
    Or,

    Equal,
    NotEqual,
    Less,
    Greater,
    LessEqual,
    GreaterEqual,

    LeftParentheses,
    RightParentheses,
    LeftBracket,
    RightBracket,

    Comma,
    Colon,
    Dot,

    End,
    Local,
    Function,
    Return,
    Class,
    Extends,
    New,
    Base,
    This,
    At,

    If,
    Else,
    While,

    Load
}

#[derive(Debug, Clone)]
pub struct TokenData {
    pub token: Token,
    pub line: u16
}

impl TokenData {
    pub fn new(token: Token, line: u16) -> TokenData {
        TokenData { token, line }
    }
}