Главная

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

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

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

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

ТОР 5 статей:

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

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

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

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

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

КАТЕГОРИИ:






Порядок действия активных правил




 

Список правил Lex-программы может содержать активные и

неактивные правила, размещенные в любом порядке в разделе

правил. В процессе работы лексического анализатора список

активных правил может видоизменяться за счет действий опера-

тора BEGIN. В процессе распознавания символов входного

потока может оказаться так, что одна цепочка символов будет

удовлетворять нескольким правилам и, следовательно, возни-

кает проблема: действие какого правила должно выполняться?

 

Для разрешения этого противоречия можно использовать

квантование (разбиение) регулярных выражений этих правил

Lex-программы на такие новые регулярные выражения, которые

дадут, по возможности, однозначное распознавание лексемы.

Однако, когда это не сделано, lex использует определенный

детерминированный механизм разрешения такого противоречия:

 

- выбирается действие того правила, которое распознает

наиболее длинную последовательность символов из вход-

ного потока;

 

 

 

- если несколько правил распознают последовательности

символов одной длины, то выполняется действие того

правила, которое записано первым в списке раздела

правил Lex-программы.

 

Рассмотрим пример:

 

.

.

.

[Мм][Аа][Йй] ECHO;

[А-Яа-я]+ ECHO;

.

.

.

 

Слово "Май" распознают оба правила, однако, выполнится пер-

вое из них, так как и первое, и второе правило распознали

лексему одинакового размера (3 символа). Если во входном

потоке будет, допустим, слово "майский", то первые 3 символа

удовлетворяют первому правилу, а все 7 символов удовлетво-

ряют второму правилу, следовательно, выполнится второе пра-

вило, так как ему удовлетворяет более длинная последователь-

ность символов.

 






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

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