ВУЗ:
Составители:
56
10. ПОСТРОЕНИЕ СИНТАКСИЧЕСКОГО ГРАФА
Для построения синтаксического анализатора можно использовать два
различных метода. Один из них – это написать универсальную программу
грамматического разбора, пригодную для всех возможных грамматик
заданного класса. В этом случае конкретные грамматики задаются этой
программе в виде данных некоторой структуры, которая управляет ее
работой. Поэтому такая программа называется таблично-управляемой
.
Другой метод – это разработка программы грамматического разбора
специально для заданного конкретного языка; при этом его синтаксис по
определенным правилам отображается в последовательность операторов, т.е.
в программу. Такую реализацию разбора будем называть программно-
управляемой.
Каждый из этих методов имеет свои преимущества и недостатки. При
построении транслятора для конкретного языка программирования вряд ли
потребуется высокая гибкость и параметризация, свойственные
универсальной программе. Программа грамматического разбора,
предназначенная специально для данного языка, обычно оказывается более
эффективной и с ней легче работать, легче встроить выполнение параллельно
с синтаксическим разбором
различных дополнительных действий, например,
проверки соответствия типов данных и пр., что может оказаться особенно
важно при реализации специализированных языков САПР. Использование
универсальной программы позволяет разработать синтаксический анализатор
максимально быстро, с меньшими требованиями к квалификации
разработчика (в идеале, он должен только представить в требуемой форме и
ввести грамматику реализуемого языка). В
любом случае полезно
представлять заданный синтаксис в виде так называемого синтаксического
графа (синтаксической диаграммы, графа распознавания). Такой граф
отражает управление ходом работы при грамматическом анализе
предложения.
56
10. ПОСТРОЕНИЕ СИНТАКСИЧЕСКОГО ГРАФА
Для построения синтаксического анализатора можно использовать два
различных метода. Один из них – это написать универсальную программу
грамматического разбора, пригодную для всех возможных грамматик
заданного класса. В этом случае конкретные грамматики задаются этой
программе в виде данных некоторой структуры, которая управляет ее
работой. Поэтому такая программа называется таблично-управляемой.
Другой метод – это разработка программы грамматического разбора
специально для заданного конкретного языка; при этом его синтаксис по
определенным правилам отображается в последовательность операторов, т.е.
в программу. Такую реализацию разбора будем называть программно-
управляемой.
Каждый из этих методов имеет свои преимущества и недостатки. При
построении транслятора для конкретного языка программирования вряд ли
потребуется высокая гибкость и параметризация, свойственные
универсальной программе. Программа грамматического разбора,
предназначенная специально для данного языка, обычно оказывается более
эффективной и с ней легче работать, легче встроить выполнение параллельно
с синтаксическим разбором различных дополнительных действий, например,
проверки соответствия типов данных и пр., что может оказаться особенно
важно при реализации специализированных языков САПР. Использование
универсальной программы позволяет разработать синтаксический анализатор
максимально быстро, с меньшими требованиями к квалификации
разработчика (в идеале, он должен только представить в требуемой форме и
ввести грамматику реализуемого языка). В любом случае полезно
представлять заданный синтаксис в виде так называемого синтаксического
графа (синтаксической диаграммы, графа распознавания). Такой граф
отражает управление ходом работы при грамматическом анализе
предложения.
Страницы
- « первая
- ‹ предыдущая
- …
- 54
- 55
- 56
- 57
- 58
- …
- следующая ›
- последняя »
