Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






До выявления конструкции, соответствующей одной из лексем, и




Возвращении номера типа этой лексемы. Для нелитеральных лек-

Сем номером типа может служить объявленное в секции деклара-

ций имя лексемы (с помощью механизма #define yacc обеспечи-

Вает замену его нужным номером), в случае литералов номером

Типа является числовое значение символа (если оно не было

- 15 -

Переопределено). Алгоритм поиска должен заключаться в

Попытке нахождения сначала более сложных (нелитеральных)

Лексем и лишь при несовпадении ни с одной из них текущих

Элементов ввода возвращать номер типа литеральной лексемы

(любой однозначный символ, не начинающий ни одну из возмож-

Ных лексем, сам образует лексему).

Приведем текст процедуры лексического анализа, распоз-

нающей идентификаторы и целые числа:

#include <stdio.h>

yylex() {char c;

while ((c=getc(stdin))==' '||c=='\n');

if(c>='0'&&c<='9'){

while((c=getc(stdin))>='0'&&c<='9');

Ungetc(c,stdin));

return (CONST);}

if (c>='a'&&c<='z'){

while ((c=getc(stdin))>'a'&&c<='z'

||c>='0'&&c<='9');

ungetc(c,stdin); return (NAME);}

return (c); }

Сложность лексического анализатора зависит от того,

Какие структурные единицы взяты за основу при описании грам-

Матических правил. Детализовав грамматику до отдельных сим-

Волов, можно обойтись простейшим лексическим анализатором,

осуществляющим только их ввод:

yylex() {return (getchar());}






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных