Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
ОПС для стандартных операторов
Наряду с рассмотренными типами операторов в языке программирования, как правило, имеются такие стандартные операторы, как операторы ввода и вывода. Рассмотрим пример таких операторов.
Пример 18. Расширим грамматику, рассмотренную в примере 17, задав операторы ввода и вывода порождающими правилами, начинающимися с нетерминала A: A → read (aH) | write (S) При работе анализатора, если верхний символ в магазине будет A, то при входном символе read в магазин будет копироваться последовательность: read (aH), а в дополнительный магазин: □□a□<r>. При входном символе read в магазин будет копироваться последовательность: write (S), а в дополнительный магазин: □□□<w>. Здесь <r> и <w> обозначают соответственно операции чтения входного значения с устройства ввода в переменную (возможно, с индексом) и записи значения арифметического выражения на устройство вывода. Обе такие операции при вычислении требуют в магазине одного операнда. Так, например, по входной цепочке: begin read(i); read(M[i]); write(M[i]*i) end будет сгенерирована ОПС: i <r> M i <i> <r> M i <i> i * <r> При вычислении по этой ОПС содержимое магазина интерпретатора будет изменяться таким образом:
Конец примера.
Дата добавления: 2015-07-26; просмотров: 114; Нарушение авторских прав Мы поможем в написании ваших работ! |