dictOrSetComp method

Parser<ExpressionNode> dictOrSetComp()
inherited

Implementation

Parser<ExpressionNode> dictOrSetComp() => [
  seq2(
    seq3(ref0(singleExpression), ref1(token, ':'), ref0(singleExpression)),
    ref0(forIfClauses),
  ).map2(
    (pair, clauses) =>
        DictCompNode(key: pair.$1, value: pair.$3, generators: clauses),
  ),
  ref0(comprehensionClause).map(
    (comp) => SetCompNode(element: comp.element, generators: comp.generators),
  ),
].toChoiceParser();