Содержание

Содержание

Содержание2

Назначение разработки3

Структура данных и методы их обработки3

Метод рекурсивного спуска3

Требования к программе6

Требования к функциональным характеристикам6

Исходные данные6

Требования к составу и параметрам технических средств6

Условия эксплуатации7

Программная реализация7

Результаты8

Список литературы9

Листинг программы10

Тестирование14

Выдержка из текста

Назначение разработки

Программа разрабатывается в рамках курсовой работы по курсу «Лингвистическое обеспечение САПР». Предназначается для закрепления знаний о работе синтаксических анализаторов языков САПР.

Структура данных и методы их обработки

В качестве метода обработки следует использовать один из методов разбора, описанный в литературе.

Метод рекурсивного спуска

Большинство известных методов анализа принадлежат одному из двух классов, один из которых объединяет нисходящие (top-down) алгоритмы, а другой — восходящие (bottom-up) алгоритмы. Происхождение этих терминов связано с тем, каким образом строятся узлы синтаксического дерева: либо от корня (аксиомы грамматики) к листьям (терминальным символам), либо от листьев к корню.

Метод рекурсивного спуска — это один из методов определения принадлежности входной строки к некоторому формальному языку, описанному LL(k) контекстно-свободной грамматикой.

Популярность нисходящих анализаторов связана с тем, что эффективный нисходящий анализатор достаточно легко может быть построен вручную, например, методом рекурсивного спуска. Кроме того, LL-грамматики легко обобщаются: грамматики, не являющиеся LL-грамматиками, обычно могут быть проанализированы методом рекурсивного спуска с возвратами.

Идея метода сотоит в том, что для каждого нетерминального символа K строится функция, которая для любого входного слова x делает 2 вещи:

Находит наибольшее начало z слова x, способное быть началом выводимого из K слова

Определяет, является ли начало z выводимым из K

Прежде чем описывать этот метод более подробно, договоримся о том, как процедуры получают сведения о входном слове и как сообщают о результатах своей работы. Мы предполагаем, что буквы входного слова поступают к ним по одной, т.е. имеется граница, отделяющая > часть от >. Будем считать, что есть функция (без параметров)

Список использованной литературы

Список литературы

1.Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии, инструменты. М.: Вильямс, 2003

2.Вояковская Н.Н., Москаль А.Е. Разработка компиляторов. Электронный ресурс: http://www.intuit.ru/department/sa/compilersdev/6/

3.Грис Д. Проектирование компиляторов для цифровых вычислительных машин. — М.: Мир, 1975

4.Шень А. Программирование: теоремы и задачи. 2-е изд., — М.: МЦНМО, 2004

5.Энциклопедия Википедия. Электронный ресурс: ru.wikipedia.org

Похожие записи