void compileSubDecls(void) { while ((lookAhead->tokenType == KW_FUNCTION) || (lookAhead->tokenType == KW_PROCEDURE)) { if (lookAhead->tokenType == KW_FUNCTION) compileFuncDecl(); else compileProcDecl(); } }
void compileSubDecls(void) { assert("Parsing subtoutines ...."); while(lookAhead->tokenType == KW_FUNCTION || lookAhead->tokenType == KW_PROCEDURE){ if(lookAhead->tokenType == KW_FUNCTION){ compileFuncDecl(); } else compileProcDecl(); } assert("Subtoutines parsed ...."); }
void compileSubDecls(void) { assert("Parsing subtoutines ...."); // TODO if(lookAhead->tokenType==KW_FUNCTION) { compileFuncDecl(); compileSubDecls(); } else if(lookAhead->tokenType==KW_PROCEDURE) { compileProcDecl(); compileSubDecls(); } //else //error(ERR_INVALIDSUBDECL, lookAhead->lineNo, lookAhead->colNo); assert("Subtoutines parsed ...."); }
void compileSubDecls(void) { assert("Parsing subtoutines ...."); // TODO switch(lookAhead->tokenType){ case KW_FUNCTION: compileFuncDecl(); compileSubDecls(); break; case KW_PROCEDURE: compileProcDecl(); compileSubDecls(); break; case KW_BEGIN: break; default: error(ERR_INVALIDSUBDECL,lookAhead->lineNo,lookAhead->colNo); break; } assert("Subtoutines parsed ...."); }