Разработка и отладка формального языка - Курсовая работа

бесплатно 0
4.5 72
Этапы разработки синтаксических и лексических анализаторов, семантических процедур для сканера, а также проектирование алгоритма, реализующего синтаксический анализ методом простого предшествования с помощью языка программирования высокого уровня.


Аннотация к работе
Это вызвано тем, что программировать на этих языках существенно проще и программы, написанные с их помощью нагляднее, чем эквивалентные им программы, выполненные на языках низкого уровня. Именно поэтому в данной работе необходимо разработать свой небольшой язык и осуществить его подготовку к написанию компилятора к данному языку. Этот язык должен показать некоторые возможности современных языков программирования и позволить разработчику данного языка укрепить знания, полученные ранее и более глубоко изучить предмет «Теория трансляции». Данная курсовая работа имеет большое учебное значение, так как в настоящее время все больше внимания уделяют языкам программирования высокого уровня, потому что писать программы на них намного проще (программы стали большими) и удобнее.Сканер выделяет простейшие языковые конструкции (лексемы) и классифицирует их тип. Сканер работает с таблицами, которые являються базой данных сканера. Временные таблицы создаются в процессе работы сканера и зависят от исходного модуля (программы, проверяемой сканером). Лексические единицы: арифметические операции: « », «/», «^». операции сравнения: «>», «=», «» операция присваивания: «=» скобка открывающая «(« скобка закрывающая «)» служебные слова: «Dim», «As», «Private», «Public», «Sub», «End», «goto», «Optional», «MSGBOX», «INPUTBOX». условный оператор: «If», «Then» оператор цикла: «For», «Next» типы данных: «Single», «Byte»,» Date», «Integer», «Boolean», «String», «Variant», «Object». элементы управления: «TEXTBOX», «COMANDBUTTON», «CHECKBOX», «PICTUREBOX» свойства элементов управления: «Caption», «Text», «With», «Height», «Visible» специальные константы: «VBOKONLY», «VBOKCANSEL», «VBABORTRETRYIGNORE», «VBCRITICAL» логические функции: «Not», «And», «Or» функции: «Format», «CBOOL», «GETALLSETTINGS». нижнее подчеркивание: «_» точка: «.» кавычки: «@» десятичные целые константы идентификатор Лексическая единица Тип операция «=» 1 операция «-» 2 операция «*» 3 операция «^» 4 операция «\» 5 операция «mod «6 разделители «.»,», «7 нижнее подчеркивание «_» 8 кавычки «@» 9 операции сравнения 10 служебные слова 11 условный оператор 12 оператор цикла 13 тип данных 14 элементы управления 15 оператор цикла 16 события элементов управления 17 свойства элементов управления 18 специальные константы 19 логические функции 20 функции 21 десятичная целая константа 22 идентификатор 23 название функции 24 псевдоним функции 25 библиотек 26 открывающая скобка «(« 27 закрывающая скобка «)» 28В процессе выполнения курсовой работы были разработаны синтаксический и лексический анализаторы, семантические процедуры для сканера, а также был разработан алгоритм, реализующий синтаксический анализ методом простого предшествования.

Введение
В современном программировании большой популярностью пользуются языки высокого уровня. Это вызвано тем, что программировать на этих языках существенно проще и программы, написанные с их помощью нагляднее, чем эквивалентные им программы, выполненные на языках низкого уровня. Именно поэтому в данной работе необходимо разработать свой небольшой язык и осуществить его подготовку к написанию компилятора к данному языку. Этот язык должен показать некоторые возможности современных языков программирования и позволить разработчику данного языка укрепить знания, полученные ранее и более глубоко изучить предмет «Теория трансляции».

Для этого необходимо выполнить задание, описанное выше с учетом предъявляемых технических требований к разрабатываемому языку.

Данная курсовая работа имеет большое учебное значение, так как в настоящее время все больше внимания уделяют языкам программирования высокого уровня, потому что писать программы на них намного проще (программы стали большими) и удобнее. В будущем эти знания могут пригодиться нам в разработке собственных языков или участвовать в разработке мощного языка высокого уровня. Именно поэтому большое практическое значение имеет разработка собственного языка, пусть не слишком мощного, но высокоуровневого, на котором будут видны все возможности языков современных.

Чтобы создать подобный язык в рамках данной курсовой работы необходимо в соответствии с требованиями к языку разработать грамматику, в которой будет описан синтаксис языка, а затем отладить ее с помощью методов простого и параллельного предшествований.

Для метода параллельного предшествования необходимо разработать алгоритм машинного представления метода; затем провести лексический анализ, построить автоматные грамматики выделения лексем и схему сканера, описать принцип его работы.

Назначение и область применения

Разработка языка C несет исключительно обучающую цель и производится с целью углубить и расширить познания автора в дисциплине «Теория трансляций», а также в приобретении навыков разработке учебного языка и проведения работы, подготавливающей язык к построению транслятора.

Разрабатываемый язык позволяет мне, систематизировать и укрепить знания, полученные в прошлом и подготовиться к дальнейшему углублению их. Именно поэтому данный язык является учебным и не имеет практической области применения.

Вывод
В процессе выполнения курсовой работы были разработаны синтаксический и лексический анализаторы, семантические процедуры для сканера, а также был разработан алгоритм, реализующий синтаксический анализ методом простого предшествования. В целом язык оправдал надежды, возложенные на него в начале работы, и получился довольно стройным и гибким.
Заказать написание новой работы



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



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