void compileVarDecls(void) { // TODO // assert("Parsing variables..."); while(lookAhead->tokenType == TK_IDENT) compileVarDecl(); // assert("Variables parsed"); }
void compileBlock3(void) { if (lookAhead->tokenType == KW_VAR) { eat(KW_VAR); compileVarDecl(); compileVarDecls(); compileBlock4(); } else compileBlock4(); }
void compileVarDecls(void) { // TODO if(lookAhead->tokenType == TK_IDENT) { compileVarDecl(); compileVarDecls(); } //else //error(ERR_INVALIDVARDECL, lookAhead->lineNo, lookAhead->colNo); }
void compileVarDecls(void) { // TODO switch (lookAhead->tokenType) { case TK_IDENT: compileVarDecl(); compileVarDecls(); break; // EmptySt needs to check FOLLOW tokens case KW_BEGIN: case KW_FUNCTION: case KW_PROCEDURE: break; // Error occurs default: error(ERR_INVALIDVARDECL, lookAhead->lineNo, lookAhead->colNo); break; } }
void compileVarDecls(void) { while(lookAhead->tokenType == TK_IDENT) compileVarDecl(); }