pub mod meta;
pub mod opcode;
pub use meta::AstMeta;
pub use opcode::Opcode;
#[derive(Clone, Debug)]
pub enum Ast {
NullLiteral,
BooleanLiteral(bool),
FloatLiteral(f64),
IntegerLiteral(i64),
IdentifierLiteral(String),
StringLiteral(String),
ListLiteral(Vec<AstMeta>),
FunctionCall(Box<AstMeta>, Vec<AstMeta>),
BinaryExpression(Opcode, Box<AstMeta>, Box<AstMeta>),
IndexExpression(Vec<AstMeta>),
BracketIndex(Box<AstMeta>),
PositiveUnary(Box<AstMeta>),
NegativeUnary(Box<AstMeta>),
NotUnary(Box<AstMeta>),
PreprocessorStatement(Box<AstMeta>, Vec<AstMeta>),
}