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;