|
Программирование >> Формирование пользовательского контейнера
*temp = EQ; teir5>++; *tenp = EQ; tenp++; *teinp = NO; break; case !: if{*(prog+l) == =) { prog++; prog++; *teinp = NE; teir5>++; *tenp = NE; teap++; ♦temp = \0 ; break; case <: if(*(prog+l) == = ) { prog++; prog++; ♦temp = LE; temp++; *temp = LE; else if(*(prog+l) == <) { prog++; prog++; *tenp = LS; teir5>++; *tertp = LS; else { prog++; *temp = LT; teir5>++; *teinp = -XO; break; case >: if(*(prog+l) == =) { prog++; prog++; ♦teirp = GE; tenp++; *tenp = GE; } else if(*(prog+l) == > ) { prog++; prog++; *tenp = RS; tenp++; *tert5) = RS; else { prog++; *tecnp = GT; terap++; *temp = \0; break; case +: if(*(prog+l) == + ) { prog++; prog++; *tecnp = INC; ternp++; *ten4P = INC; tecnp++; ♦temp = \0; break; case -: if(*(prog+l) == -) { prog++; prog++; *temp = DEC; tenp++; *terap = DEC; terap++; *terap = \0; break; i f(* token) return(tokentype = DELIMITER); Проверяет другие огргшичители. if (strchr( +-*/%=;: О , , *prog)) { ♦tecnp = *prog; prog++; terap++; *terap = \0; return (tokentyjje = DELIMITER) ; Читает строку в кавычках. if(*prog == ) { prog++; While(*prog != && *prog != \r && *prog) { Шет escape-последовательность \n. if(*prog == W) { if(*(prog+l) == -n) { prog++; *temp++ = Nn ; else if ((temp - token) < MA3L.T JiEN) *tenp++ = *prog; prog++; if(*prog == \r ii *prog == 0) throw InterpExc (SYNTAX) ; prog++; *terap = \0; return (tokentype = STRING); Читает целое число. if(isdigit(*prog)) { . while (! isdelim(*prog)) { if ((temp - token) < MA3L.ID JiEN) *terap++ = *prog; prog++; *terap = NO; return (tokentype = NUMBER); Читает идентификатор или ключевое слово. if(isalpha(*prog)) { whiled isdelim(*prog)) { if ((temp - token) < mxjLD J) *terap++ = *progD prog++; tokentype = TEMP; ♦temp = 40; Определяет, является ли лексема ключевым словом
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |