pub fn descend_flat(
    p: &mut Parser<'_>,
    inner_node_kind: SyntaxKind,
    before: impl Fn(&mut Parser<'_>),
    continue_if: impl Fn(&mut Parser<'_>) -> bool,
    after: impl Fn(&mut Parser<'_>)
)
Expand description

outer_node_kind: e.g. EXP inner_node_kind: e.g., ORELSE_EXP

NOTE: This folds all the after nodes into the same node in a flat structure. To make them right-associate, use precedence_climber_once recursively (i.e, with after set to the enclosing function.)