Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Дерево синтаксического разбораСодержание книги
Поиск на нашем сайте Рассмотрим примеры применения дерева при решении некоторых реальных задач. Они могут использоваться для представления таких конструкций реального
Дерево синтаксического разбора – результат синтаксического анализа, т.е. результат процесса сопоставления линейной последовательности лексем (слов, токенов) естественного или формального языка с его формальной грамматикой. Синтаксический анализатор – это программа или часть программы, выполняющая синтаксический анализ. В ходе синтаксического анализа исходный текст преобразуется в структуру данных, обычно — в дерево, которое отражает синтаксическую структуру входной последовательности и хорошо подходит для дальнейшей обработки (рис. 2).
Разбор арифметического выражения Как транслятор (программа-переводчик, которая преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд) обрабатывает и выполняет арифметические и логические выражения, которые он встречает в программе? Один из вариантов – представить это выражение в виде двоичного дерева. Например, выражению (a + b) / (c - d + 1) соответствует двоичное дерево разбора, показанное на рисунке 3.
Формы записи выражений
Что получается при прохождении таких двоичных деревьев? В зависимости от варианта обхода такого бинарного дерева можно получить разные формы записи выражения. Префиксная форма записи
Прямое прохождение дерева (корень – левое поддерево – правое поддерево) дает
то есть знак операции (корень) предшествует своим операндам. Такая форма записи арифметических выражений называется префиксной. Инфиксная форма записи
Симметричный обход (левое поддерево – корень – правое поддерево) дает запись вида
или инфиксную форму, которая совпадает с обычной записью, но без учета скобок. Поскольку скобок нет, правильный порядок операций невозможно восстановить по инфиксной записи. Постфиксная форма записи
В трансляторах широко используется постфиксная запись выражений, которая получается в результате обратного обхода (левое поддерево - правое поддерево - корень). В такой записи знак операции стоит после обоих операндов:
|
||||||||||
|
Последнее изменение этой страницы: 2021-01-08; просмотров: 1234; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.) |
|||||||||||