Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
15.06.2014
Размер:
869 б
Скачать
//символьная таблица

struct TableContents				
{
  	char nameword[40];				
	int  token;				
};

struct  TableContents TableN[MAX_TABLE];


char    LexWords[MAX_STR];
int 	LastChar  = -1;




int 	LastEntry = 0;			

	

int   	LineStr=1;	
char 	LexBuf[128];

int poisk(char s[]) {
	int tab;
	for(tab=LastEntry;tab>0;tab--)	
		if(strcmp(TableN[tab].nameword,s) == 0)
		return tab;
	return 0;
}




int dobavit(char s[],int t) {	
	int Len;
	Len=strlen(s);
	if(LastEntry+1>=MAX_TABLE)
		yyerror("symbol table full");
	if(LastEntry + Len + 1>=MAX_STR)
		yyerror("lexemes array full");
	LastEntry++;
	TableN[LastEntry].token 	= t;
	strcpy(TableN[LastEntry].nameword, s);
	return LastEntry;	
}

char *poiskslova(int t) {
	int tab;
	for(tab=LastEntry;tab>0;tab--)
		if(tab == t)
		return TableN[tab].nameword;
	return 0;
}
Соседние файлы в папке c_compile(флор_курса)