aiken-lang 1.0.22-alpha

The Aiken compiler
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use chumsky::prelude::*;

use crate::{
    expr::UntypedExpr,
    parser::{error::ParseError, token::Token},
};

pub fn parser() -> impl Parser<Token, UntypedExpr, Error = ParseError> {
    recursive(|sequence| {
        super::parser(sequence.clone())
            .then(sequence.repeated())
            .foldl(|current, next| current.append_in_sequence(next))
    })
}