//------------------------------------------------------------------------------ int lookup(int *typeOfObject) { int i; gettoken(yytext, sizeof yytext); if (!strnicmp(yytext,"reg",3) && strlen(yytext) == 5 && isdigit(yytext[3]) && isdigit(yytext[4]) && (i=atoi(yytext+3))>=0 && i<100) { *typeOfObject=IDENTIFIER; return i+EVAL_MAX_VARS; } for (i=0;i<EVAL_MAX_VARS;i++) if (!strnicmp(varTable[i].name, yytext,sizeof(varTable[i].name))) { *typeOfObject = IDENTIFIER; return i; } for (i=0;getFunctionFromTable(i);i++) { functionType *f=getFunctionFromTable(i); if (!strcmpi(f->name, yytext)) { *typeOfObject = objectId(f->nParams); return i; } } *typeOfObject = IDENTIFIER; setLastVar(); i = setVar(-1, 0); return i; }
//------------------------------------------------------------------------------ int lookup(int *typeOfObject) { int i; gettoken(yytext, sizeof yytext); for (i=0;i<EVAL_MAX_VARS;i++) if (!strcmpi(varTable[i].name, yytext)) { *typeOfObject = IDENTIFIER; return i; } for (i=0;i<sizeof(fnTable)/sizeof(functionType);i++) { if (!strcmpi(fnTable[i].name, yytext)) { *typeOfObject = objectId(fnTable[i].nParams); return i; } } *typeOfObject = IDENTIFIER; setLastVar(); i = setVar(-1, 0); //(*errPtr)++; return i; }