sliceExpr method

Parser<SliceNode> sliceExpr()
inherited

Implementation

Parser<SliceNode> sliceExpr() =>
    seq3(
      ref0(singleExpression).optional(),
      ref1(token, ':'),
      seq2(
        ref0(singleExpression).optional(),
        seq2(ref1(token, ':'), ref0(singleExpression).optional()).optional(),
      ),
    ).map3((lower, _, rest) {
      final upper = rest.$1;
      final step = rest.$2?.$2;
      return SliceNode(lower: lower, upper: upper, step: step);
    });