aiken-lang 1.0.22-alpha

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

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

pub fn parser() -> impl Parser<Token, UntypedExpr, Error = ParseError> {
    select! {
        Token::Name { name } => name,
        Token::UpName { name } => name,
    }
    .map_with_span(|name, span| UntypedExpr::Var {
        location: span,
        name,
    })
}