ВУЗ:
Составители:
- 30 -
M - метки правил.
Правило грамматики имеет вид: i: F -> Ф¦W1¦W2
Множества W1 и W2 - это подмножества меток М, причем, если ядро
правила применимо, то следующим правилом будет правило из мно-
жества W1, а если ядро не применимо, то будет применяться мно-
жество W2.
Программные грамматики позволяют описывать как порождение
конструкций языка программирования, так и алгоритма обработки
контекстных условий. Для программной грамматики возможно соста-
вить программу универсальной обработки, чередующей порождение
контекстно-свободной конструкции с проверкой контекстных условий.
Содержание задания:
Заданием данного этапа курсового проекта служит задание
этапа N1 по реализации лексического сканера. Необходимо
проанализировать контекст употребления заданных лексем, выяснить
к каким типам относятся выявленные контекстные условия и допол-
нить сканер программой обработки этих условий.
Для определяемых лексем всех т ипов контекстное условие зак-
лючается в необходимости соответствия определения и использования
лексемы. Например, любой используемый идентификатор языка Си дол-
жен быть определен с указанием типа. Следовательно, программа
проверки контекстного условия должна проверить для каждого случая
использованного идентификатора наличие определения.
При разработке программы обработки контекста необходимо ис-
пользовать уже сформированные структуры данных. То есть
проверка контекста идентификатора сводится к проверке соответствия
таблиц определений и использований по принципу : каждый использо-
ванный идентификатор должен быть определен, каждый опредленный
идентификатор может быть использован.
Необходимость учета области видимости переменных усложняет
приведенный принцип, так как разные переменные могут иметь одина-
ковые имена и различаться лишь контекстно.
Определение и использование имен абстрактных типов данных
имеет контекстные условия, аналогичные именам переменных.
Метки в разных языках программирования имеют различные кон-
текстные условия. В Паскале обязательно определение в опрераторе
Страницы
- « первая
- ‹ предыдущая
- …
- 27
- 28
- 29
- 30
- 31
- …
- следующая ›
- последняя »