public Exp exprlist()
{
var exprs = new List<Exp>();
for (; ; )
{
if (Peek(TokenType.OP_STAR))
exprs.Add(star_expr());
else
exprs.Add(expr());
if (!PeekAndDiscard(TokenType.COMMA))
break;
if (Peek(TokenType.In, TokenType.NEWLINE))
break;
}
if (exprs.Count == 1)
return exprs[0];
else
return new ExpList(exprs, filename, exprs[0].Start, exprs.Last().End);
}