public ExecStatement exec_stmt()
{
var posStart = Expect(TokenType.Exec).Start;
Exp e = expr();
var posEnd = e.End;
Exp g = null;
Exp l = null;
if (PeekAndDiscard(TokenType.In))
{
g = test();
posEnd = g.End;
if (PeekAndDiscard(TokenType.COMMA))
{
l = test();
posEnd = l.End;
}
}
return new ExecStatement(e, g, l, filename, posStart, posEnd);
}