Skip to main content

aver/parser/
mod.rs

1use std::rc::Rc;
2
3use crate::ast::*;
4use crate::lexer::{Token, TokenKind};
5use thiserror::Error;
6
7#[derive(Debug, Error)]
8pub enum ParseError {
9    #[error("error[{line}:{col}]: {msg}")]
10    Error {
11        msg: String,
12        line: usize,
13        col: usize,
14    },
15}
16
17pub struct Parser {
18    tokens: Vec<Token>,
19    pos: usize,
20}
21
22mod blocks;
23mod core;
24mod expr;
25mod functions;
26mod module;
27mod patterns;
28mod types;