Реферат: Интерпретатор 2

int lookup(char s[]) /* Возвращает положение в таблице символов для s */

{

int i;

for(i = lastentry; i > 0; i--)

if (strcmp(symtable[i].lexptr, s) == 0)

return i;

return 0;

}

int insert(char s[], int tok) /* Добавитьстрочкувтаблицусимволов */

{

int len;

len = strlen(s); /* strlen вычисляетдлинустроки */

if (lastentry + 1 >= SYMMAX)

error("symbol table full");

if (lastchar + len + 1 >= STRMAX)

error("lexemes array full");

lastentry++;

symtable[lastentry].token = tok;

symtable[lastentry].lexptr = &lexemes[lastchar + 1];

lastchar += len + 1;

strcpy(symtable[lastentry].lexptr, s);

return lastentry;

}

int insertcode(int tok,char s[],double value){ //Добавлениевтаблицукодов

int len;

len=strlen(s);

if(lastcode+1>=CODEMAX)

error("code table full");

if(lastlexgen+len+1>=STRMAX)

К-во Просмотров: 1042
Бесплатно скачать Реферат: Интерпретатор 2