- •Теория языков программирования и методы трансляции
- •1. Общие положения
- •2. Задание на курсовую работу
- •2.1. Задача 1. Минимизация конечного автомата
- •2.2. Задача 2. Разработка модели интерпретатора
- •3. Рекомендации по выполнению работы
- •3.1. Решение задачи 1
- •4. Пратт т., Зелковиц м. Языки программирования: разработка и реализация / Под ред. А. Матросова. – сПб: Питер, 2002. – 688с.
- •620002, Екатеринбург, Мира, 19
3. Рекомендации по выполнению работы
Курсовая работа оформляется как единая программа. При этом целесообразным представляется применение принципа модульного программирования, согласно которому программа каждой задачи оформляется как отдельный модуль. Объединение всех модулей в единую программу можно выполнить с помощью отдельного управляющего модуля, в котором предусматривается в диалоговом режиме вывод наименования работы, выбор решения той или иной задачи и завершение работы по соответствующей команде, вводимой с клавиатуры.
3.1. Решение задачи 1
При разработке модуля минимизации конечного автомата можно рекомендовать метод удаления эквивалентных состояний методом разбиения на группы. Пример:
Дан исходный автомат:
|
a |
b |
|
1 |
6 |
3 |
0 |
2 |
7 |
3 |
0 |
3 |
1 |
5 |
0 |
4 |
4 |
6 |
0 |
5 |
7 |
3 |
1 |
6 |
4 |
1 |
1 |
7 |
4 |
2 |
1 |
P0 = ({1,2,3,4},{5,6,7})
P1 = ({1,2},{3,4},{5,6,7})
P2 = ({1,2},{3},{4},{5,6,7})
P3 = ({1,2},{3},{4},{5},{6,7})
|
a |
b |
|
{1,2} |
{6,7} |
{3} |
0 |
{3} |
{1,2} |
{5} |
0 |
{4} |
{4} |
{6,7} |
0 |
{5} |
{6,7} |
{3} |
1 |
{6,7} |
{4} |
{1,2} |
1 |
3.2. РЕШЕНИЕ ЗАДАЧИ 2
При разработке интерпретатора можно рекомендовать:
Загружать множество правил из внешнего файла.
Реализовать алгоритм вычисления множества выбора.
Хранить числовые константы не в переменной числового типа.
Контролировать типы используемых переменных и констант.
4. ТРЕБОВАНИЯ К ОТЧЕТУ ПО КУРСОВОЙ РАБОТЕ
СОСТАВ ОТЧЕТА
Отчет по курсовой работе должен включать в себя:
1). Титульный лист.
2). Содержание.
3). Введение.
4). Отчет о решении задач 1, 2.
5). Заключение.
СОДЕРЖАНИЕ ОТЧЕТА
Форма и содержание титульного листа отчета представлены в приложении 1.
Оглавление отчета должно включать в себя заголовки всех разделов с указанием страниц.
Введение должно быть кратким (не более 0.5 стр.) и содержать информацию о цели и содержании выполненной работы.
Отчет о решении каждой задачи должен включать:
постановку задачи (что дано и что требуется выполнить);
исходные выражения и исходные данные принятого индивидуального задания;
таблицу принятых обозначений, которые используются в программах;
алгоритм решения задачи;
по возможности краткие пояснения к алгоритмам с указанием особенностей ввода данных и вывода результатов;
результаты решения задачи;
краткий анализ результата.
В заключении очень кратко (в двух – трех предложениях) изложить результаты работы.
ПРИЛОЖЕНИЕ 1
Министерство образования и науки Российской Федерации
ФГАОУ ВПО «Уральский федеральный университет
имени первого Президента России Б.Н.Ельцина»
Кафедра «Информационные технологии и автоматизации проектирования»
Оценка за курсовую работу
Члены комиссии
К У Р С О В А Я Р А Б О Т А
по дисциплине "Теория языков программирования и методы трансляции"
РЕШЕНИЕ ИНЖЕНЕРНО-ТЕХНИЧЕСКИХ ЗАДАЧ
С ИСПОЛЬЗОВАНИЕМ СРЕДСТВ ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ
вариант №1
Выполнил
Студент: Петров М.В.
Группа: М - 7777
Принял: к.т.н., доцент Копорушкин П.А.
Екатеринбург
2012
ПРИЛОЖЕНИЕ 2
Библиографический список
1. Компиляторы: принципы, технологии и инструментарий, 2 издание : Пер. с англ. / Альфред В. Ахо, Моника С. Лам, Рави Сети, Джеффри Д. Ульман. - М.: Вильямс, 2010. - 1184 с.: ил.
2. Ф.Льюис, Д.Розенкранц, Р.Стирнз. Теоретичесие основы проектирования компиляторов. - М.: Мир, 1979, 655 с.
3. Гордеев, А. В. Системное программное обеспечение [Текст]: учеб. пособие для вузов / А.В. Гордеев, А.Ю. Молчанов. - CПб.: Питер, 2003. - 736с.: ил. - (Учебник для вузов).