public CompFor comp_for()
{
var start = Expect(TokenType.For).Start;
var exprs = exprlist();
Expect(TokenType.In);
var collection = or_test();
CompIter next = null;
if (Peek(TokenType.For, TokenType.If))
{
next = comp_iter();
}
return new CompFor(filename, start, (next ?? collection).End)
{
variable = exprs,
collection = collection,
next = next,
};
}