/// <summary> /// new_tuple_block = "(" init_expr_block ")" /// </summary> private NewTupleNode parseNewTupleBlock() { if (!check(LexemType.ParenOpen)) return null; var node = new NewTupleNode(); node.Expressions = parseInitExprBlock().ToList(); if(node.Expressions.Count == 0) return null; ensure(LexemType.ParenClose, ParserMessages.SymbolExpected, ')'); return node; }
/// <summary> /// new_tuple_line = "(" init_expr_line ")" /// </summary> private NewTupleNode parseNewTupleLine() { if (!check(LexemType.ParenOpen)) return null; var node = new NewTupleNode(); node.Expressions = parseInitExprLine().ToList(); if (node.Expressions.Count == 0) error(ParserMessages.TupleItem); ensure(LexemType.ParenClose, ParserMessages.SymbolExpected, ")"); return node; }
/// <summary> /// new_tuple_line = "(" init_expr_line ")" /// </summary> private NewTupleNode parseNewTupleLine() { // todo: revise grammar, possibly eliminating the unit literal if(check(LexemType.Unit)) error(ParserMessages.TupleItem); if (!check(LexemType.ParenOpen)) return null; var node = new NewTupleNode(); node.Expressions = parseInitExprLine().ToList(); if (node.Expressions.Count == 0) error(ParserMessages.TupleItem); ensure(LexemType.ParenClose, ParserMessages.SymbolExpected, ")"); return node; }