array method

Parser<ArrayNode> array()

Implementation

Parser<ArrayNode> array() =>
    seq3(
      ref1(token, '{'),
      ref0(expression)
          .starSeparated(ref0(periodToken).plus())
          .skip(after: ref0(periodToken).star()),
      ref1(token, '}'),
    ).map3((open, list, close) {
      final result = ArrayNode()..surroundWith(open, close);
      result.statements.addAll(list.elements);
      for (final sep in list.separators) {
        result.periods.addAll(sep);
      }
      return result;
    });