libhanzzok 0.1.5

Hanzzok compiler library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use nom::{combinator::map, sequence::tuple};

use crate::{core::ast::HanzzokAstNode, syntax::TokenKind};

use super::{
    nom_ext::{tag, HanzzokParser},
    ParseResult,
};

pub fn parse_newline(p: HanzzokParser) -> ParseResult<HanzzokAstNode> {
    map(
        tuple((tag(TokenKind::VerticalSpace), tag(TokenKind::VerticalSpace))),
        |(l, r)| HanzzokAstNode::Newline(vec![l, r]),
    )(p)
}