Автор очень ответственно и профессионально подходит к выполнению заказов. Большое спасибо!
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
Функции и процедуры в языке Pascal могут быть описаны глобально, либо внутри других процедур и функций:
procedure f1(a, b: integer); forward;
procedure f2;
procedure f3(var c: integer);
begin
end;
procedure f4; forward;
function f5(i: integer; var obj): integer;
begin
end;
procedure f4;
begin
end;
begin
end;
....
СИНТАКСИЧЕСКИЙ АНАЛИЗ С ПОМОЩЬЮ КС-ГРАММАТИК
Оглавление
1 Лабораторное задание
2 Краткая теория
2.1 Синтаксис описания процедур и функций на языке Pascal
2.2 LL(1)-грамматики
2.3 Определение множеств направляющих символов
2.4 Построение таблицы разбора
2.5 Разбор цепочки по таблице
3 Результаты работы программы
3.1 Описание программы
3.2 Грамматика описания процедур и функций на языке Pascal
3.3 Тест 1
3.4 Тест 2
3.5 Тест 3
3.6 Тест 4
3.7 Тест 5
4 Выводы
Список использованных источников
Приложение А (обязательное) Листинг программы
Важно!!! после покупки работы в расширении файла Lab2.exeL удалить L
Вариант № 1.
На вход программы подаются два текстовых файла (с именами GRAMMAR.TXT и INPUT.TXT). Первый содержит LL(1)-грамматику, второй — описание процедур и функций на выбранном языке (Pascal, C++), либо делегатов на языке C#. Необходимо проверить, является ли описание процедур/функций/делегатов корректным с точки зрения заданной грамматики и не содержатся ли в нем конфликты имен.
Таким образом, задание разбивается на две части:
1. Проверка синтаксиса.
2. Проверка семантики.
Семантика зависит от выбранного языка, и поэтому ее проверка жестко привязана к анализатору (в данном случае — Вашей программе). Грамматика же должна быть универсальной, т.е. должна позволять задавать любые правила для разбора процедур/функций/делегатов (и не только). Например, должны быть доступны изменения: ключевых слов, знаков пунктуации, правил разбора идентификаторов, а также добавление новых языковых конструкций и т.п.
Программа должна проанализировать имеющееся в текстовом файле описание процедур/функций/делегатов и выдать (в текстовый файл OUTPUT.TXT) результат проверки. Это может быть:
1. Сообщение о том, что грамматика во входном файле не является LL(1)-грамматикой.
2. Сообщение о том, что описание корректное.
3. Сообщение о синтаксической ошибке. Указывать тип ошибки не обязательно, требуется только указать строку и позицию в строке входного файла, где наблюдается ошибка. Достаточно находить только первую ошибку в описании.
4. Сообщение о конфликте имен. В этом случае на выходе программы необходимо указать конфликтующее имя, а также строку и позицию в строке, где произошел конфликт.
Работа сдавалась в 2016 году.
Важно!!! после покупки работы в расширении файла Lab2.exeL удалить L
Калайда В.Т., Романенко В.В.
Теория языков программирования и методы трансляции: методи-
ческие указания по выполнению лабораторных работ. — Томск:
Факультет дистанционного обучения, ТУСУР, 2013. — 105 с.
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
Функции и процедуры в языке Pascal могут быть описаны глобально, либо внутри других процедур и функций:
procedure f1(a, b: integer); forward;
procedure f2;
procedure f3(var c: integer);
begin
end;
procedure f4; forward;
function f5(i: integer; var obj): integer;
begin
end;
procedure f4;
begin
end;
begin
end;
....
СИНТАКСИЧЕСКИЙ АНАЛИЗ С ПОМОЩЬЮ КС-ГРАММАТИК
Оглавление
1 Лабораторное задание
2 Краткая теория
2.1 Синтаксис описания процедур и функций на языке Pascal
2.2 LL(1)-грамматики
2.3 Определение множеств направляющих символов
2.4 Построение таблицы разбора
2.5 Разбор цепочки по таблице
3 Результаты работы программы
3.1 Описание программы
3.2 Грамматика описания процедур и функций на языке Pascal
3.3 Тест 1
3.4 Тест 2
3.5 Тест 3
3.6 Тест 4
3.7 Тест 5
4 Выводы
Список использованных источников
Приложение А (обязательное) Листинг программы
Важно!!! после покупки работы в расширении файла Lab2.exeL удалить L
Вариант № 1.
На вход программы подаются два текстовых файла (с именами GRAMMAR.TXT и INPUT.TXT). Первый содержит LL(1)-грамматику, второй — описание процедур и функций на выбранном языке (Pascal, C++), либо делегатов на языке C#. Необходимо проверить, является ли описание процедур/функций/делегатов корректным с точки зрения заданной грамматики и не содержатся ли в нем конфликты имен.
Таким образом, задание разбивается на две части:
1. Проверка синтаксиса.
2. Проверка семантики.
Семантика зависит от выбранного языка, и поэтому ее проверка жестко привязана к анализатору (в данном случае — Вашей программе). Грамматика же должна быть универсальной, т.е. должна позволять задавать любые правила для разбора процедур/функций/делегатов (и не только). Например, должны быть доступны изменения: ключевых слов, знаков пунктуации, правил разбора идентификаторов, а также добавление новых языковых конструкций и т.п.
Программа должна проанализировать имеющееся в текстовом файле описание процедур/функций/делегатов и выдать (в текстовый файл OUTPUT.TXT) результат проверки. Это может быть:
1. Сообщение о том, что грамматика во входном файле не является LL(1)-грамматикой.
2. Сообщение о том, что описание корректное.
3. Сообщение о синтаксической ошибке. Указывать тип ошибки не обязательно, требуется только указать строку и позицию в строке входного файла, где наблюдается ошибка. Достаточно находить только первую ошибку в описании.
4. Сообщение о конфликте имен. В этом случае на выходе программы необходимо указать конфликтующее имя, а также строку и позицию в строке, где произошел конфликт.
Работа сдавалась в 2016 году.
Важно!!! после покупки работы в расширении файла Lab2.exeL удалить L
Калайда В.Т., Романенко В.В.
Теория языков программирования и методы трансляции: методи-
ческие указания по выполнению лабораторных работ. — Томск:
Факультет дистанционного обучения, ТУСУР, 2013. — 105 с.
Купить эту работу vs Заказать новую | ||
---|---|---|
1 раз | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—4 дня |
1200 ₽ | Цена | от 200 ₽ |
Не подошла эта работа?
В нашей базе 2003 Лабораторной работы — поможем найти подходящую