rustre_parser/parser/
merge.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use super::*;

pub fn parse_merge_cases<'slice, 'src>(input: Input<'slice, 'src>) -> IResult<'slice, 'src> {
    many0(parse_merge_case)(input)
}

pub fn parse_merge_case<'slice, 'src>(input: Input<'slice, 'src>) -> IResult<'slice, 'src> {
    node(
        MergeCaseNode,
        join((
            t(OpenPar),
            alt((t(True), t(False), ident::parse_id_any)),
            t(Arrow),
            expression::parse_expression,
            t(ClosePar),
        )),
    )(input)
}