public Parser(List<Token> tokens, ErrorHandler errorHandler)
{
m_tokens = tokens;
m_errorHandler = errorHandler;
m_nextTokenIndex = 0;
m_lookahead = new Token[k];
m_lookaheadIndex = 0;
//Fill lookahead buffer:
for (int i = 0; i < k; i++) {
consumeCurrentToken();
}
m_programAST = new AST(new Token(Token.TokenType.PROGRAM_ROOT, "<PROGRAM_ROOT>"));
m_isInsideFunctionDefinition = false;
m_processed = false;
}