Лабы №1-№5, для всех вариантов. Теория языков программирования и методы трансляции.

Состав работы

material.view.file_icon
material.view.file_icon
material.view.file_icon grammar.txt
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon BuildLog.htm
material.view.file_icon Lab1.exe.embed.manifest
material.view.file_icon Lab1.exe.embed.manifest.res
material.view.file_icon Lab1.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon grammar.txt
material.view.file_icon Lab1.vcproj
material.view.file_icon Lab1.vcproj.SYSTEMNIK.limited.user
material.view.file_icon main.cpp
material.view.file_icon main.h
material.view.file_icon
material.view.file_icon BuildLog.htm
material.view.file_icon Lab1.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon Lab1.ncb
material.view.file_icon Lab1.sln
material.view.file_icon
material.view.file_icon Lab1.exe
material.view.file_icon Lab1.pdb
material.view.file_icon Lab1.exe
material.view.file_icon Лаб1.doc
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon Lab2.exe
material.view.file_icon Lab2.ilk
material.view.file_icon Lab2.pdb
material.view.file_icon
material.view.file_icon
material.view.file_icon BuildLog.htm
material.view.file_icon Lab2.exe.embed.manifest
material.view.file_icon Lab2.exe.embed.manifest.res
material.view.file_icon Lab2.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon Lab2.vcproj
material.view.file_icon Lab2.vcproj.SYSTEMNIK.limited.user
material.view.file_icon main.cpp
material.view.file_icon main.h
material.view.file_icon
material.view.file_icon BuildLog.htm
material.view.file_icon Lab2.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon Lab2.ncb
material.view.file_icon Lab2.sln
material.view.file_icon
material.view.file_icon Lab2.exe
material.view.file_icon Lab2.pdb
material.view.file_icon Lab2.exe
material.view.file_icon Лаб2.doc
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon Lab3.exe
material.view.file_icon Lab3.ilk
material.view.file_icon Lab3.pdb
material.view.file_icon
material.view.file_icon
material.view.file_icon BuildLog.htm
material.view.file_icon Lab3.exe.embed.manifest
material.view.file_icon Lab3.exe.embed.manifest.res
material.view.file_icon Lab3.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon Lab3.vcproj
material.view.file_icon Lab3.vcproj.SYSTEMNIK.limited.user
material.view.file_icon main.cpp
material.view.file_icon main.h
material.view.file_icon
material.view.file_icon BuildLog.htm
material.view.file_icon Lab3.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon Lab3.ncb
material.view.file_icon Lab3.sln
material.view.file_icon
material.view.file_icon Lab3.exe
material.view.file_icon Lab3.pdb
material.view.file_icon Lab3.exe
material.view.file_icon Лаб3.doc
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon Lab4.exe
material.view.file_icon Lab4.ilk
material.view.file_icon Lab4.pdb
material.view.file_icon
material.view.file_icon
material.view.file_icon BuildLog.htm
material.view.file_icon Lab4.exe.embed.manifest
material.view.file_icon Lab4.exe.embed.manifest.res
material.view.file_icon Lab4.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon Lab4.vcproj
material.view.file_icon Lab4.vcproj.SYSTEMNIK.limited.user
material.view.file_icon main.cpp
material.view.file_icon main.h
material.view.file_icon
material.view.file_icon BuildLog.htm
material.view.file_icon Lab4.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon Scheme.txt
material.view.file_icon Lab4.ncb
material.view.file_icon Lab4.sln
material.view.file_icon
material.view.file_icon Lab4.exe
material.view.file_icon Lab4.pdb
material.view.file_icon Lab4.exe
material.view.file_icon Scheme.txt
material.view.file_icon Лаб4.doc
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon Lab5.exe
material.view.file_icon Lab5.ilk
material.view.file_icon Lab5.pdb
material.view.file_icon
material.view.file_icon
material.view.file_icon BuildLog.htm
material.view.file_icon Lab5.exe.embed.manifest
material.view.file_icon Lab5.exe.embed.manifest.res
material.view.file_icon Lab5.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon Lab5.vcproj
material.view.file_icon Lab5.vcproj.SYSTEMNIK.limited.user
material.view.file_icon main.cpp
material.view.file_icon main.h
material.view.file_icon
material.view.file_icon BuildLog.htm
material.view.file_icon Lab5.exe.intermediate.manifest
material.view.file_icon main.obj
material.view.file_icon mt.dep
material.view.file_icon vc90.idb
material.view.file_icon vc90.pdb
material.view.file_icon Lab5.ncb
material.view.file_icon Lab5.sln
material.view.file_icon
material.view.file_icon Lab5.exe
material.view.file_icon Lab5.pdb
material.view.file_icon Lab5.exe
material.view.file_icon Лаб5.doc
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
  • Программа для просмотра текстовых файлов
  • Microsoft Word

Описание

Лабораторная работа № 1 Генерация цепочек языка
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.
На вход программы подаётся КС-грамматика (терминальный и нетерминальный алфавиты, целевой символ, правила вывода), задаётся диапазон длин цепочек, указывается тип вывода (левосторонний или правосторонний).
Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не рекомендуется предоставлять пользователю излишнюю свободу действий, например, удобнее запретить ввод в левой части правил более чем одного нетерминального символа, чем проверять введённые правила на соответствие контекстно-свободному типу.
На выходе должен быть список построенных цепочек. Все цепочки в списке должны быть различны. При получении одинаковых цепочек (разными способами) их следует сохранять в списке выводимых цепочек только в случае выполнения дополнительного задания.
Проверить программу на примерах из лекционного курса и на заданиях из контрольных вопросов к теоретической части.
Дополнительно: Дополнить предыдущую программу таким образом, чтобы для одной или нескольких цепочек (цепочки выбирает пользователь из числа построенных на предыдущем этапе работы) строилось дерево вывода, т.е. была структурно представлена последовательность правил, использованных при построении цепочки.

Лабораторная работа № 2 Моделирование работы ДКА
Пусть регулярный язык задаётся конечным автоматом – ДКА (теоретический материал разделов 1.5, 2.2). Написать программу, которая будет проверять по заданному автомату вводимую цепочку и делать вывод о том, принадлежит ли она рассматриваемому регулярному языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку – например, “в цепочке присутствуют посторонние символы”, “после прочтения цепочки автомат не пришёл в конечное состояние” и т.п. Исходный автомат вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры.
На вход программы подаётся ДКА (множество состояний, алфавит языка, начальное состояние, множество заключительных состояний, функция переходов в виде таблицы) и проверяемая цепочка символов (может вводиться многократно, т.е. возможно проверить любое количество цепочек). При этом в проверяемую цепочку могут входить и символы, не принадлежащие алфавиту языка; цепочка может быть и пустой.
Программа должна предоставлять пользователю возможность изменять начальное и конечные состояния с сохранением введённой функции переходов для заданного автомата.
Выход – отображение на экране процесса проверки цепочки в виде последовательной смены конфигураций и вывод результата – сообщения, принадлежит ли цепочка языку.
Проверить работу программы на примерах из лекций и задачах из контрольных вопросов.
Дополнительно:
Предоставить пользователю возможность не только вводить данные с клавиатуры, но и загружать автомат из файла (выбор – в соответствующем пункте меню или нажатием кнопки в исходном окне программы). При этом следует накладывать определённые ограничения на формат файла и производить соответствующие проверки во избежание загрузки некорректных данных.
Также по желанию пользователя результаты помимо вывода на экран сохранять в файле. Выбор – аналогично загрузке данных.

Лабораторная работа № 3 Моделирование работы МПА
Пусть контекстно-свободный язык задаётся детерминированным автоматом с магазинной памятью – ДМПА (теоретический материал раздела 3.1). Написать программу, которая будет проверять для вводимой цепочки, принадлежит ли она заданному КС-языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку (аналогично лаб. раб №2) Исходный автомат вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры, выполняя его до тех пор, пока не возникнет желание закончить работу.
На вход программы подаётся ДМПА (множество состояний, алфавит языка, алфавит магазина, начальное состояние, начальное содержимое стека, множество заключительных состояний, функция переходов в виде списка правил) и проверяемая цепочка символов (может вводиться многократно, т.е. возможно проверить любое количество цепочек). При этом в проверяемую цепочку могут входить и символы, не принадлежащие алфавиту языка; цепочка может быть и пустой.
Рекомендуется для ввода исходных данных использовать соответствующую форму с полями выбора. При вводе функции переходов не рекомендуется предоставлять пользователю излишнюю свободу действий.
Выход – отображение на экране процесса проверки цепочки в виде последовательной смены конфигураций и вывод результата – сообщения, принадлежит ли цепочка языку.
Внимание!!! В ходе проверки цепочки ДМПА может проделывать пустые такты не только после прочтения всей цепочки, но и в её середине. Внимательно прочтите соответствующий раздел лекций 3.1.
Проверить работу программы на примерах из лекций и задачах из контрольных вопросов.
Дополнительно: Предоставить пользователю возможность вносить некоторые изменения в исходные данные без полного их обновления.

Лабораторная работа № 4 Перевод с помощью СУ-схемы
Пусть дана схема синтаксически управляемого перевода (теоретический материал раздела 4.2). Написать программу, которая будет выполнять перевод цепочек с одного языка на другой в соответствии с этой схемой. При невозможности выполнить перевод (цепочка не строится по правилам входной грамматики) необходимо выводить на экран соответствующее сообщение.
Правила СУ-схемы считывать из файла (предоставив пользователю возможность редактировать их на экране); цепочки вводить с клавиатуры, процесс перевода отображать на экране. Предусмотреть возможность выполнения перевода любого количества цепочек для заданной схемы.
На вход программы подаётся схема СУ-перевода (алфавиты входного и выходного языков, множество нетерминальных символов, правила вывода, целевой символ) и цепочка языка, которую необходимо перевести (может вводиться многократно, т.е. возможно перевести любое количество цепочек). Цепочка может быть и не относящейся к исходному языку…
Работа программы может быть организована по-разному. В качестве основного задания допустимо использовать материалы лабораторной работы №1. На первом этапе в соответствии с входной грамматикой схемы СУ-перевода попытаться сгенерировать цепочку, поданную на вход (поскольку её длина известна, можно генерировать только цепочки этой длины). При генерации фиксировать номера использованных правил. В случае успешной генерации выполнить второй этап – применяя номера использованных правил, получать одновременно входную и выходную цепочки по правилу вывода и соответствующему ему элементу перевода.
На выходе – отображение процесса перевода и результирующая цепочка языка.
Дополнительно: Вместо попыток генерации исходной цепочки сделать её разбор каким-либо способом из числа рассмотренных в теоретическом курсе. Например, использовать разбор с возвратами, нисходящий или восходящий (). В таком случае первый этап работы программы изменится на распознавание цепочки, т.е. на нём будет выполняться проверка цепочки построенным распознавателем. На выходе будут получены номера правил, по которым цепочка строилась. Второй этап – перевод с помощью схемы СУ-перевода – полностью совпадает с основным заданием.

Лабораторная работа № 5
Перевод с помощью МП-преобразователя
Пусть дан преобразователь с магазинной памятью; написать программу, которая будет выполнять перевод цепочек с одного языка на другой с помощью заданного преобразователя (теоретический материал раздела 4.2). При невозможности выполнить перевод (цепочка не принадлежит исходному языку) необходимо выводить на экран соответствующее сообщение.
Исходный преобразователь вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры, выполняя его до тех пор, пока не возникнет желание закончить работу. Процесс перевода цепочки в виде последовательной смены конфигураций отображать на экране.
На вход программы подаётся ДМП-преобразователь (множество состояний, алфавиты входного и выходного языков, алфавит магазина, начальное состояние, начальное содержимое стека, множество заключительных состояний, функция переходов в виде списка правил) и проверяемая цепочка символов (аналогично лаб. раб. №3).
Рекомендуется за основу взять программу лабораторной работы №3, дополнив исходные данные выходным алфавитом, функцию переходов – в соответствии с определением преобразователя, а конфигурации – выходными цепочками.
Выход: отображение на экране процесса перевода цепочки в виде последовательной смены конфигураций преобразователя, результат перевода – полученная цепочка.
Проверить работу программы на примерах из лекций и задачах из контрольных вопросов.
Дополнительно:
Предоставить пользователю возможность не только вводить данные с клавиатуры, но и загружать преобразователь из файла (аналогично лабораторной работе №2).

Дополнительная информация

Все лабы сданы и зачтены в марте 2017г.
Без нареканий и исправлений.
Теория языков программирования и методы трансляции
Лабораторные работы основаны на лекционном материале; каждая выполняется после изучения соответствующего теоретического раздела. До выполнения лабораторной работы нужно внимательно разобраться с примерами, ответить на контрольные вопросы изученного теоретического раздела, а также решить задачи, предлагаемые в составе контрольных вопросов. Каждая работа снабжена методическими указаниями, сопровождающими текст задания. Рекомендуется внимательно читать задание и выполнять работу в строгом соответс
User Илья272 : 5 ноября 2023
1300 руб.
Теория языков программирования и методы трансляции
Билет No1 1) Классификация грамматик и языков по Хомскому. Проиллюстрировать на примерах (примеры должны быть свои). 2) Нисходящий распознаватель языков с возвратами. Алгоритм распознавателя с подбором альтернатив. Проиллюстрировать на примере (пример должен быть свой). 3) Построить детерминированный автомат с магазинной памятью P (с опустошением стека), допускающий язык L(P) = {a n b n c 2k k > 0, n 0}. Построить КС-грамматику для задания этого же языка.
User piligrim-24 : 11 апреля 2012
50 руб.
Теория языков программирования и методы трансляции
Лабораторная работа № 3 По дисциплине «Теория языков программирования и методы трансляции» Моделирование работы МПА Пусть контекстно-свободный язык задаётся детерминированным автоматом с магазинной памятью – ДМПА (теоретический материал раздела 3.1). Написать программу, которая будет проверять для вводимой цепочки, принадлежит ли она заданному КС-языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку (аналогично лаб. раб №2) Исходный авт
User piligrim-24 : 3 марта 2012
50 руб.
«Теория языков программирования и методы трансляции». Вариант №6
Написать программу, которая по предложенному описанию языка построит регулярную грамматику (ЛЛ или ПЛ – по заказу пользователя), задающую этот язык, и позволит сгенерировать с её помощью все цепочки языка в заданном диапазоне длин. Предусмотреть возможность поэтапного отображения на экране процесса генерации цепочек. Вариант задания языка: Алфавит, кратность вхождения некоторого символа алфавита и обязательная фиксированная подцепочка, на которую заканчиваются все цепочки языка. Программа должн
User NikolaSuprem : 18 ноября 2021
500 руб.
Теория языков программирования и методы трансляции билет 11
Билет No 11 Факультет ИВТ (ДО) Курс 4 Семестр 7 Дисциплина Теория языков программирования и методы трансляции 1) Автоматные грамматики – определение, способ приведения регулярной грамматики к автоматному виду. Проиллюстрировать на примере (пример должен быть свой). 2) Схема работы компилятора, основные этапы компиляции. Краткая характеристика основных фаз компиляции. 3) Пусть дана грамматика для арифметических выражений: G ({+,–,/,*,a,b,(,)}, {S,T,E}, P, S), где правила P имеют вид: S S+TS–TT
User 09809845 : 4 ноября 2022
800 руб.
Теория языков программирования и методы трансляции. Билет №23
Билет № 23 1. Построение ДКА, эквивалентного заданному НКА. Классы эквивалентности, минимизация ДКА. Проиллюстрировать на примере (пример должен быть свой). 2. Схема синтаксически управляемого перевода с одного языка на другой – необходимые определения, СУ-перевод. Проиллюстрировать на примере (пример должен быть свой). 3. Построить и изобразить графически детерминированный конечный автомат для распознавания множества цепочек из алфавита {a,b,c}* четной длины, начинающихся с символа ‘с’ и закан
User IT-STUDHELP : 30 декабря 2021
500 руб.
promo
Теория языков программирования и методы трансляции. Билет №9
Билет No 9 Факультет ИВТ (ДО) Курс 4 Семестр 7 Дисциплина Теория языков программирования и методы трансляции 1) Регулярные множества и регулярные выражения (РВ). Определение, свойства РВ. Проиллюстрировать на примерах (примеры должны быть свои). 2) Алгоритм восходящего анализа языков без возвратов, основанный на грамматиках операторного предшествования. Проиллюстрировать на примере (пример должен быть свой). 3) Построить и изобразить графически детерминированный конечный автомат, распозн
User IT-STUDHELP : 30 декабря 2021
500 руб.
promo
Теория языков программирования и методы трансляци. Билет № 13
Билет No 13 Факультет ИВТ (ДО) Курс 4 Семестр 7 Дисциплина Теория языков программирования и методы трансляции 1) Эквивалентные способы задания регулярных языков. Свойства регулярных языков, способ проверки языка на регулярность. Проиллюстрировать на примере (пример должен быть свой). 2) Лексический анализ как первый этап процесса компиляции. Проиллюстрировать на примере (пример должен быть свой). 3) Построить детерминированный автомат с магазинной памятью P (с опустошением стека), допуск
User ivanPBT22 : 28 мая 2015
300 руб.
Лабораторная работа №1 по дисциплине: Методы оптимальных решений. Вариант №9
Задание: 1. Составьте математическую модель задачи линейного программирования. 2. Решите её средствами Excel с использованием Поиска решений. 3. Проинтерпретируйте найденное решение. Между двумя пунктами, расстояние между которыми равно 1000 км, необходимо с наименьшими затратами осуществить связь, имеющую a телефонных, b телеграфных и c фототелеграфных каналов с помощью кабелей двух типов. Кабель первого типа содержит a1 телефонных, b1 телеграфных и c1 фототелеграфных каналов, а кабель второ
User nastenakosenkovmailru : 7 декабря 2014
90 руб.
Математический анализ. Экзамен. 1-й семестр. Билет №3
1. Понятие производной. Геометрический и физический смысл производной. Уравнение касательной к линии. 2.Вычислить предел
User елена85 : 12 апреля 2014
150 руб.
Лабораторная №1 по дисциплине: Техническая эксплуатация средств связи. Общий вариант
Лабораторная работа №1 «Система электросвязи РФ» 1. Система электросвязи РФ (СЭС РФ) и ее подсистемы 2. Основные компоненты информационной системы. Список использованных источников
User xtrail : 1 января 2025
150 руб.
Гидравлика и нефтегазовая гидромеханика Хабаровск ТОГУ Задача 42 Вариант 2
Определить минимальное начальное давление газа р1 необходимое для пропуска весового расхода G по стальному газопроводу, диаметром d и длиной l, чтобы давление в конце трубопровода было бы не менее p2. Удельный вес газа γ=8 Н/м³, кинематический коэффициент вязкости ν=14,5·10-6 м²/c.
User Z24 : 25 ноября 2025
150 руб.
Гидравлика и нефтегазовая гидромеханика Хабаровск ТОГУ Задача 42 Вариант 2
up Наверх