Читать курсовая по Отсутствует: "Синтаксический анализатор" Страница 1

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

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

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

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

Язык должен допускать использование логических выражений, в состав которых могут входить отношения, круглые скобки и знаки логических операций: И, ИЛИ, НЕ и, в случае наличия в языке логического типа, константы и переменные этого типа. Приоритет операций обычный.

Операции над переменными структурированного типа определяются вариантом задания.

Состав операторов языка:

· оператор присваивания;

· оператор ввода;

· оператор вывода;

· составной оператор;

· оператор безусловного перехода;

· условный оператор, условие в котором задается логическим выражением;

· оператор цикла, условие в котором задается логическим выражением.

Конкретный вид операторов определяется вариантом задания.

Программа на входном языке может содержать комментарии, вид которых предусмотрен базовым языком.

Исходная постановка задачи

Базовый язык - Паскаль.

Базовые типы: целый, символьный, ограниченный.

Структурированный тип: символьная строка.

Операции над строками: определение длины строки, конкатенация строк, замена подстроки в строке, поиск подстроки в строке, доступ к элементу строки по индексу, доступ к подстроке.

Оператор цикла - с постусловием.

Перегрузка операций - не разрешается.

Эквивалентность типов - именная.

Класс грамматик - грамматики простого предшествования.

Промежуточный язык - тетрады.

2. Описание входного языка.1 Описание синтаксиса входного языка

синтаксис лексема анализатор язык

Разработка языка программирования начинается с определения его синтаксиса. Естественный язык мало пригоден для этой цели, поэтому для точного описания синтаксиса языка программирования нужен некоторый вспомогательный язык. Язык, предназначенный для описания другого языка, называется метаязыком.

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


Интересная статья: Основы написания курсовой работы