Теория языков программирования и методы трансляции - Курсовая работа

бесплатно 0
4.5 95
Детерминированная автоматная модель синтаксического анализатора. Исследование структуры разработанной программы, требования к функциональности, Основные элементы и принципы реализации. Листинг спроектированной программы и анализ полученных результатов.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
программа анализатор автоматный Для интерпретации языков программирования необходимы компиляторы, в основе которых лежат синтаксические и семантические анализаторы. Для построения простейшего компилятора целесообразно использовать современные утилиты для лексического разбора такие как flex и bison, позволяющие на основе набора лексем, описании грамматики языка, сгенерировать программный код, выполняющий разбор введенного текста. Лисп - семейство языков программирования, основанных на представлении программы системой линейных списков символов, которые притом являются основной структурой данных языка. Синтаксический разбор реализовать с использованием детерминированного автомата с магазинной памятью. Описание исходного языка Описание регулярной грамматики, описывающей лексемы языка: setq {return stq;} list {return lst;} cons {return cns;} [0-9] {return Number;} [A-Za-z][A-Za-z0-9]* {return id;} \ {return APOST;} \ {return SPACE;} \( {return LSC;} \) {return RSC;} Описание КС-грамматики, описывающей синтаксис языка: Если (V,T,P,S) - КС- грамматика (V - множество нетерминальных символов, T - множество терминальных символов, P - множество порождающих правил, Form - аксиома), то V::={}; T::={ LSC RSC id Number SPACE APOST}; Form::= program|program SPACE form ; program: stroka1 stroka2 ; stroka1: LSC fun SPACE id SPACE arg RSC ; stroka2: LSC fun SPACE arg SPACE arg RSC ; fun: cns|stq|lst| ; arg: Number|id|fun1 ; fun1: cns1|stq1|lst1| ; cns1: LSC cns SPACE arg SPACE arg RSC ; stq1: LSC stq SPACE arg SPACE Number RSC ; lst1: LSC lst SPACE arg SPACE arg RSC ; 3. LR(1)-грамматика и грамматика предшествования являются частными видами КС-грамматик, для которых может быть построен детерминированный автомат, реализующий алгоритм типа «сдвиг-приведение». В ходе работы над курсовым проектом была использована LR(1)-реализация алгоритма «сдвиг-приведение» В заголовки строк управляющей таблицы LR(1)-автомата выносятся индексы его внутренних состояний, а в заголовки строк - все терминальные и нетерминальные символы грамматики, а также маркер конца входной строки.

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?