expression method

Parser<ValueNode> expression()

Implementation

Parser<ValueNode> expression() =>
    seq2(ref0(assignment).star(), ref0(cascadeExpression)).map2(
      (assignments, expr) => assignments.reversed.fold(
        expr,
        (result, assign) => AssignmentNode(assign.$1, assign.$2, result),
      ),
    );