magc 0.8.0

The Mag Language Compiler
Documentation
use crate::parser::{Parser, ParserResult};

use crate::types::{Expression, Token};

mod block;
mod call;
mod conditional;
mod infix;
mod list;
mod literal;
mod member;
mod method;
mod pattern;
mod prefix;
mod return_expr;
mod var;

pub use self::block::*;
pub use self::call::*;
pub use self::conditional::*;
pub use self::infix::*;
pub use self::list::*;
pub use self::literal::*;
pub use self::member::*;
pub use self::method::*;
pub use self::pattern::*;
pub use self::prefix::*;
pub use self::return_expr::*;
pub use self::var::*;

pub trait PrefixParselet {
    fn parse(&self, parser: &mut Parser, token: Token) -> ParserResult;
}

pub trait InfixParselet {
    fn parse(&self, parser: &mut Parser, left: Box<Expression>, token: Token) -> ParserResult;
    fn get_precedence(&self) -> usize;
}