Написать на языке СИ интерпретатор языка любого .
1. Введение В настоящей курсовой работе необходимо разработать и реализовать интерпретатор учебного языка. Далее проводится работа по разработке как самого языка так и интерпретатора для него предназначенного. Разработанный язык имеет простой синтаксис, напоминающий языки Си и Бейсик. Его можно использовать для написания небольших учебных программ. Преимущества разработанного компилятора состоит в его скорости работы и наличии графического интерфейса пользователя, что значительно упрощает процесс разработки программного продукта. Далее немного исторической справки относительно теории компиляторов в общем и интерпретаторов в частности. Несмотря на более чем полувековую историю вычислительной техники, формально годом рождения теории компиляторов можно считать 1957, когда появился первый компилятор языка Фортран, созданный Бэкусом и дающий достаточно эффективный объектный код. До этого времени создание компиляторов было весьма "творческим" процессом. Лишь появление теории формальных языков и строгих математических моделей позволило перейти от "творчества" к "науке". Именно благодаря этому стало возможным появление сотен новых языков программирования. Более того, формальная теория компиляторов дала новый стимул развитию математической лингвистики и методам искусственного интеллекта, связанных с естественными и искусственными языками. Основу теории компиляторов составляет теория формальных языков. Без ее не существовало бы научного фундамента разработки компиляторов, а все бы сводилось к чистому творчеству, что тормозило бы в развитии всю отрасль разработки программного обеспечения. Существует тесная связка: компиляторы-трансляторы-интерпретаторы. Все они служат одной цели – превращать сырой программный код, записанный в текстовом редакторе в исполнительную программу. Каждый элемент этой связки делает это преобразование по-разному. Самый простой путь от текста программы до выполнения этой программой конкретных действий у интерпретатора. Интерпретатор производит лексический и синтаксический разбор, потом переводит текст в некоторое внутреннее представление и тут же исполняет программу. Существуют также языки, называемые интерпретируемыми, которые не предназначены для компиляции в объектный код (например, язык Питон). Более сложна реализация трансляторов. Транслятор представляет собой программу или комплекс технических средств, позволяющих переводить текст исходной программы в текст другого языка. Транслятор состоит из тех же модулей, что и интерпретатор, только вместо немедленного исполнения программы переводит ее текст в текст другого языка. Это усложняет исполнение транслятора по сравнению с интерпретатором. Еще более сложным является разработка компилятора. Компилятор - тот же транслятор, только конечным языком трансляции является объектный машинно-зависимый язык, который непосредственно исполняется центральным процессором. Задача данного курсового проекта определена выше и состоит разработке интерпретатора, самого простого представителя выше названной тройки. 1. Введение 2 2. Назначение и область применения 4 3. Описание учебного языка 5 4. Технические характеристики 9 4.1.Постановка задачи 9 4.2.Описание алгоритма 9 4.3.Организация входных и выходных данных 10 4.4.Выбор состава технических и программных средств 10 5. Разработка программы 12 6. Спецификация программы 15 7. Текст программы 17 8. Описание программы 18 8.1.Общие сведения 18 8.2.Функциональное назначение 18 8.3.Описание логической структуры 18 8.4.Используемые технические средства 18 8.5.Вызов и загрузка 18 8.6.Входные данные 19 8.7.Выходные данные 19 Литература 20 1. Аляев Ю.А. Алгоритмизация и языки программирования Pascal, C++, Visual Basic: учебно-справочное пособие. – М.: Финансы и статистика, 2007. 2. Епанешников А., Епанешников В. Программирование в среде Turbo Pascal 7.0. –М.:»ДИАЛОГ-МИФИ», 2000 3. Немнюгин С.А. Turbo Pascal: практикум – СПб: Питер, 2001. 4. Павловская Т.А. С/С++. Программирование на языке высокого уровня.Учебник. – СПб: Питер, 2001. 5. Павловская Т.А., Щупак Ю.А. С/С++. Программирование на языке высокого уровня. Структурное программирование. Практикум. – СПб: Питер, 2002 6. Павловская Т.А., Щупак Ю.А. С++. Объектно-ориентированное программирование. Практикум. – СПб: Питер, 2004 7. Шень А. Программирование: теоремы и задачи. Учебное пособие. – М:МЦ НМО, 1995 8. Подбельский В.В. Язык С++: Учебное пособие. – М.: Финансы и статистика, 1996 9. Фалина И.Н., Богомолова Т.С., Большакова Е.А., Гущин И.С., Шухардина В.А. Алгоритмизация и программирование. – М.: КУДИЦ-ПРЕСС, 2007. 10. Архангельский А.Я. Программирование в С++ Builder 5 – СПб: Бином, 2000 11. Брукшир Дж. Гленн Введение в компьютерные науки. Учебник. – М.: Вильямс, 2001 12. Буч Г. Объектно-ориентированные анализ и проектирование с примерами на С++. – СПб: Бином, 1998 13. Вирт Н. Алгоритмы + структуры данных=программы. - М.: Мир,1985. 14. Кнут Д. Искусство программирования для ЭВМ. Т1. Основные алгоритмы. - М.: Мир, 1976. - 736с. 15. Кнут Д. Искусство программирования для ЭВМ. Т3. Сортировка и поиск. - М.: Мир, 1978. -844с. 16. Ласло М. Вычислительная геометрия и компьютерная графика на С++. - СПб: Бином, 1997 17. Страуструп Б. Язык программирования С++. – СПб: Бином, 1999 Похожие работы:
Поделитесь этой записью или добавьте в закладки |