Теория языков программирования и методы трансляции

  • 21 мая 2012 г.
  • 1552 Слова
Курсовая работа по дисциплине
«Теория языков программирования и методы трансляции»
Тема: “Конвертер с языка Паскаль на язык Си”































Москва, 2012

Содержание

1. Техническое задание 3
2. Задание на курсовую работу 4
3. Постановка задачи 5
4. Внешняя спецификация программы 6
5. Метод решения задачи 7
6. Текст на языке Flex 8
7.Текст на языке Bison 10
8. Структура программы 14
9. Пример перевода 17
10. Выводы 18



1. Техническое задание


1.1 Назначение программы
Программа предназначена для трансляции текста программы на языке Паскаль в текст программы на языке Си. При обнаружении ошибки в ходе трансляции, программа останавливает трансляцию.

1.2 Требования к функциональным характеристикам
- Программадолжна транслировать код на языке Паскаль в код на языке Си (транслировать те операторы, которые указаны в варианте на курсовую работу).
- Исходный код должен хранится в файле, пользователь должен предоставить имя исходного файла.
- Программа должна сохранять переведенный код в файл, пользователь должен предоставить имя выходного файла.
- Программа должна выводить переведенный код на экран консоли, еслипользователь не предоставит имя выходного файла.

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

1.4 Требования к составу технических средств и информационной совместимости.
- Pentium 100 МГц, 16 Мб RAM.
- HDD: 100 Кб свободного места.
- ОС: Windows XP
- Иметь файл с кодом на языке Си в каталоге, где располагается программа или в другомместе.

1.5 Стадии и этапы разработки
|Содержание работ |Срок (неделя) |
|Разработка структуры входных и выходных данных |4 |
|Разработка алгоритма решения задачи |6 |
|Разработка структуры программы|7 |
|Разработка тестов |8 |
|Написание текста программы |10 |
|Отладка программы |14|
|Написание отчёта о работе |15 |


2. Задание на курсовую работу


Построить конвертор с использованием средств Flex и Bison для перевода программ на языке Паскаль в текст программы на языке Си. Языки, а также допустимые операторы в исходном тексте, синтаксис арифметических и логических выраженийопределяются в соответствии с вариантом. Для всех допустимых операторов в задании на курсовую работу должны быть приведены синтаксические диаграммы, в соответствии с которыми будет производиться анализ операторов исходного текста и их конвертация. Необходимо описать возможное и обязательное использование пробелов в исходном тексте.
Исходные данные и результат хранятся в текстовых файлах.
При обнаружениисинтаксической ошибки в операторе исходного текста транслятор должен останавливать трансляцию, в консоль должна быть выведена сообщение об ошибке, переведенный код до момента возникновения ошибки должен сохраниться.
Для ключевых слов операторов в программе на языке Си используются только строчные буквы, а в программе на языке Паскаль – строчные и прописные. В идентификаторах...