Разработка конвертора на языке Си для перевода программ на языке Паскаль в текст программы на языке Си - Программирование, компьютеры и кибернетика курсовая работа

Разработка конвертора на языке Си для перевода программ на языке Паскаль в текст программы на языке Си - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Разработка конвертора на языке Си для перевода программ на языке Паскаль в текст программы на языке Си

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


посмотреть текст работы


скачать работу можно здесь


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


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
"Северо-кавказский государственный университет"
по дисциплине "Программирование на языке высокого уровня"
1. Описание задания для курсового проекта
Цель: спроектировать транслятор с языка Паскаль на язык Си, произвести отладку и документирование данного проекта.
Данная цель дает возможность использовать знания дисциплины "Программирование на языке высокого уровня".
Курсовая работа включает в себя ступени выполнения с разработки технического задания и заканчивается описанием проделанной работы в отчете.
Тема: "Разработка конвертора на языке Си для перевода программ на языке Паскаль в текст программы на языке Си".
По заданию на данный проект нужно: составить транслятор на языке Си для перевода программ с языка Паскаль в текст программы на языке Си.
Допустимые операторы в исходном тексте, типы переменных, определяются по вариантам.
- должны быть приведены синтаксические диаграммы для данных операторов, в соответствии с которыми будет производиться анализ операторов исходного текста и их конвертирование (по согласованию с преподавателем синтаксис некоторых сложных операторов может быть упрощен);
-должны быть описаны возможные и обязательные использования пробелов в исходном тексте;
-исходные данные и результат хранятся в текстовых файлах, их имена должны запрашиваются транслятором;
- если обнаружена синтаксическая ошибка оператора: в выходной файл вносится комментарий об ошибке;
- обработка отдельных операторов описываются как подпрограммы;
-оформить вывод комментарий из исходного файла в выходной;
- ключевые слова операторов в программе на языке Си записываются только строчными буквами, а в программе на языке Паскаль они могут быть записаны и строчными и прописными;
- в виде идентификаторов используются любые буквы;
-в одной строке исходного текста может быть записано несколько операторов или только часть одного оператора.
Так же нужно учитывать, что при формировании текста можно не использовать правило отступа.
-проверка строки на ключевые слова, описанные как массив ключевых слов;
-вывод текста в выходной файл: число операторов в исходной программе, число операторов в полученной программе, число ошибочных операторов в полученной программе.
К выходным данным так же будут относится, данные выдающиеся на экран, описанные функцией:
printf("\n\nФайл с результатом: %s",s);
Данный этап включает в себя описания логической и математической модели решения задачи, и словесное описание модели в виде плана действий.
Опишем логическую и математическую модель получения данных, использованные в курсовой работе. В данных моделях, описанных графически, принимается, что синтаксические диаграммы одинаковы для языков Паскаль и Си.
Пусть мы имеем некое выражение Le2, проверим его по нашей логической модели получения данных:
1. Проверка является ли выражение Le2 слагаемым (OR), если да, то выход;
2. Проверка является ли вы выражение Le2 множителем (AND) если да, то выход;
3. Проверка является ли выражение Le2: константой, переменной или арифметическим выражением;
4. Если Le2 арифметическое выражение - проверка на арифметическое выражение: проверяем на арифметические операции (=, <>, >, >=, <=, <). Выход;
5. Если Le2 переменная, проверяем тип переменной. Если он не определен, то заключаем его в квадратные скобки и выход. Иначе - выход;
6. Если Le2 константа проверяем ее значение, выход.
Пусть мы имеем некое выражение Ae1, проверим его по нашей математической модели получения данных:
1. Если выражение операнд, то смотрим тип операции после него (+, *, /, -);
2. Проверяем тип операнда: целый или переменная;
3. Если это переменная, то проверяем, буква ли это, если это так то заключаем ее в квадратные скобки, выход.
1. Newtype -установка типа переменной
2. Vartype - получение типа переменной, при этом тип задан заранее
3. Ocvobw- освобождение списка переменных - просто удаление обоих списков, как для локальных переменных, так и для глобальных переменных
4. Analiz- Одна из главных функций получение слова, посимвольно анализируется текст.
Программа анализирует текст посимвольно и каждый раз определяет тип символа (число, буква, пробел ит.д.), когда удается ясно определить значение этого символа (цифра, переменная и т.д.) или последовательности символов( переменная, ключевое слово и т.д.) выполнение функции прерывается она возвращает тип этого слова Функция возвращает один из следующих кодов типа "слова":
5. put_str- запись строки в выходной буфер
6. scmp - возвращает значения буферов
7. put_char - запись символа в выходной буфер
10. AnalizS -получение слов, пропуск пробелов
15. VvodText -вывод обработанного текста
16. Oshibka - вывод ошибочного оператора
17. IsComment -проверка на комментарии
18. CommEnd -проверка на закрытие комментарий
19. fkW - проверка на ключевое слово, сравниваются полученное нами слово со словом из списка и если да, то возвращается номер слова в списке
20. fIntRealBoolAr - обработка переменных после слова var, обращения к тем четырем функциям работающим со списком переменных и обработка описания переменных: x1,..,xn: тип;
21. fvar -обработка описания блока переменных
22. fvardescr -обработка блока переменных
23. fbegin - обработка блоков операторов
25. frecord - обработка оператора record
26. ob_arif - обработка арифметического выражения
27. ob_arifmetich -обработка арифметического выражения
28. ob_logich -обработка логического выражения
29. asign -проверка на присваивание
31. Konvektor -главная функция преобразования текста
Проверка: если адрес не правильный, то ошибка
Проверка: если адрес не правильный, то ошибка
Оставленный нами текст программы на языке Си++ будет иметь вид:
!memcmp(head->s,&instr[inpos],slen)) return 0;
memcpy(ntype->s,&instr[inpos],slen);
if (c==' ' || c=='\t' || c=='\n') st = 1;
if ((c>='A' && c<='Z')||(c>='a' && c<='z')) st = 2;
{ slen = 1; return stype = w_char; }
else { slen = 0; return stype = w_error; }
if (c==' ' || c=='\t' || c=='\n') slen++;
return (!scmp(&instr[inpos],s,slen));
for (int i=0; iРазработка конвертора на языке Си для перевода программ на языке Паскаль в текст программы на языке Си курсовая работа. Программирование, компьютеры и кибернетика.
Самоконтроль В Процессе Физического Воспитания Реферат
Курсовая работа: Сучасний урок: форми, структура, зміст і методи проведення
Курсовая работа по теме Особенности анализа переменных и постоянных затрат
Курсовая работа по теме Авторське право і суміжні права
Реферат: «Стиль художественной культуры Рококо»
Реферат по теме Участие адвоката по уголовным делам в суде первой инстанции
Курсовая работа по теме Проектирование фундаментов сборочного цеха
Реферат: Социальное обеспечение безработных граждан. Психолого - педагогическая помощь ищущим работу
Экономические ресурсы, их классификация и характеристики
Курсовая работа: Формирование правовой культуры общества. Скачать бесплатно и без регистрации
Реферат: Средства ввода-вывода в Си++
Реферат Современные Уральские Бренды
Контрольная Работа На Тему Формирование Нравственной Культуры Старшеклассников
Сочинение: О поэзии М. Цветаевой
Бесплатно Лабораторные Работы По Физике
Реферат по теме Договір постачання
Реферат: Договор долевого строительства
Курсовая работа по теме Расчет насосной установки
Доклад по теме Санитары биосферы
Основы Сердечно Легочной Реанимации Реферат
М.Е. Салтыков-Щедрин "История одного города" - Литература презентация
Влияние биологически активных факторов окружающей среды на наследственные системы организма человека - Биология и естествознание курсовая работа
Выбор партнера в коммерческой деятельности - Маркетинг, реклама и торговля презентация


Report Page