Пред.Страница
След.Страница
Раздел
Содержание
1.5.5. Грамматики для арифметических
выражений
Условимся рассматривать арифметические выражения, использующие только
знаки сложения и умножения. Вначале построим грамматику для выражений без
скобок. Такие выражения представляют собой цепочки, которые можно рассматривать
как списки с разделителями, в которых роль разделителей выполняют знаки
операций. В соответствии с этой аналогией получаем схему грамматики, в
которой символ <I> обозначает идентификатор,
определение которого приведено выше.
Г1. 23 : R = { <H>
® <I><R>,
<R> ® <W><I><R>,
<R> ® $,
<W> ® +,
<W> ® * }.
Чтобы построить грамматику, допускающую использование в арифметических
выражениях скобок без вложенности, представим структуру таких выражений
в виде списка с разделителями, элементами которого являются выражения без
скобок или выражения без скобок, заключенные в скобки. Разделителями этого
списка являются знаки операций. Такой структуре соответствует следующая
схема грамматики:
Г1. 24 : R = { <G>
® <H><Q>,
<G> ® (<H>)<Q>,
<Q> ® <W><G>,
<Q> ® $ }.
Для построения грамматики арифметических выражений, допускающих применение
вложенных скобок, следует предусмотреть возможность использования в качестве
элемента списка не только выражения без скобок, но и выражения, в котором
могут быть использованы скобки. Схема грамматики, учитывающая эту возможность,
может быть записана в виде:
Г1. 25 : R = { <E>
® <G><P>,
<E> ® (<E>)<P>,
<P> ® <W><E>,
<P> ® $ }.
-
Пред.Страница
След.Страница
Раздел
Содержание