Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЯПиМТ (методичка).doc
Скачиваний:
4
Добавлен:
16.11.2019
Размер:
150.02 Кб
Скачать

Министерство образования и науки Российской Федерации

ФГБОУ ВПО «Ивановский государственный энергетический

университет имени В.И. Ленина»

Факультет информатики и вычислительной техники

Кафедра программного обеспечения компьютерных систем

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

Руководство по выполнению самостоятельной работы

Иваново 2012

Составитель Е.Б. ИГНАТЬЕВ

Редактор В.П. ЗУБКОВ

Цель настоящих методических указаний – научить студентов описанию синтаксиса языков с помощью формальных грамматик, помочь им выполнить и правильно оформить самостоятельную работу по разработке формального языка.

Методические указания предназначены для студентов IV курса специальности 230100.62 и 230105.65.

Методические указания утверждены цикловой методической комиссией факультета информатики и вычислительной техники.

Рецензент

кафедра программного обеспечения компьютерных систем ИГЭУ

ТЕОРИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ И МЕТОДЫ ТРАНСЛЯЦИИ

Руководство по выполнению курсовой работы

Составитель Игнатьев Евгений Борисович

Редактор Соловьева Т.В.

Лицензия ЛР № 020264 от 15 декабря 1996 г.

Подписано в печать Формат60х84/16

Печать плоская. Усл. печ. л. 0,93.

Тираж 100. Заказ № .

Ивановский государственный энергетический университет

153003, Г. Иваново, ул. Рабфаковская, 34 Варианты заданий

Требуется разработать язык программирования (ЯП) в соответствии с вариантом задания.

  1. Алгоритмический язык вычислительного характера, позволяющий выполнять опера­ции с векторами и матрицами.

  2. Язык описания геометрических объектов и манипулирования ими.

  3. Язык построения отчетов, содержащих тексты, таблицы, графики и элементы раст­ровой графики.

  4. Язык описания документов и поиска их в архиве.

  5. Язык описания медицинских карт (больничных или санаторно-курортных в поликлинике) для ввода их в БД и вывода из БД на печать.

  6. Язык описания данных и манипулирования ими в иерархической СУБД.

  7. Язык описания данных и манипулирования ими в реляционной СУБД.

  8. Язык описания данных и манипулирования ими в объектно-ориенти­рован­ной СУБД.

  9. Язык создания библиографических описаний книг, журналов, газет, диссертаций и т.д. и поиска их в специализированной БД.

  10. Язык для табличного процессора, у которого переменными являются отдельные ячейки таблицы или списки ячеек.

  11. Язык организации диалога.

  12. Язык запросов для геоинформационной системы.

  13. Язык описания геометрии деталей типа тела вращения.

  14. Язык для создания анимации.

  15. Язык описания и редактирования информационно-поискового тезауруса, а также поиска с его помощью информации в специализированной БД.

  16. Язык описания графов и манипулирования с ними.

  17. Язык описания модели транспортной сети.

  18. Язык создания гипертекстовых приложений.

  19. Язык вычислительного характера, позволяющий выполнять опера­ции с комплексными числами.

  20. Ограниченный естественный язык для манипулирования данными в реляционной СУБД (аналог языка SQL).

  21. Ограниченный естественный язык для управления программой.

Вместо разработки своего языка можно сделать описание стандартной или собственной версии одного из следующих языков:

  1. АБВ - экспериментальный расширяемый ЯП.

  2. Аналитик – русский Algol.

  3. Рефал – язык символьной обработки.

  4. Утопист – язык логического программирования.

  5. ABAP/4 – ЯП для SAP/R3.

  6. Ada – ЯП для встроенных систем.

  7. ActionScript – ЯП для Flash-приложений.

  8. Algol – ЯП для решения научно-технических задач.

  9. APL – функциональный ЯП для работы с массивами.

  10. AutoIt – ЯП для автоматизации задач в MS Windows.

  11. AutoLisp – ЯП в AutoCAD.

  12. Bash – командная оболочка UNIX.

  13. Basic.

  14. C.

  15. C++.

  16. C# – ЯП для .NET.

  17. Cg – ЯП 3D графики.

  18. Cobol – ЯП для разработки бизнес-приложений.

  19. ColdFusion – ЯП для генерации HTML и работы с БД.

  20. Clean - функцио­наль­н. ЯП.

  21. CLU.

  22. Curry – универсальный ЯП.

  23. D – прикладной и системный ЯП.

  24. dBASE – ЯП для работы с БД.

  25. Eiffel – ООЯП.

  26. EMP - ЯП для смартфонов.

  27. EPL – ЯП событий.

  28. Erlang – функциональный ЯП для распределённых систем.

  29. Fortran – первый ЯП высокого уровня.

  30. Forth – ЯП для встраиваемых систем.

  31. Fortress – язык для программирования на суперкомпьютерах.

  32. GPSS – ЯП для имитационного моделирования.

  33. GPL.

  34. Groovy – ООЯП.

  35. Haskell – функциональный ЯП.

  36. Java – ООЯП распределенных систем.

  37. JavaScript – ЯП скриптов, встраиваемых в HTML.

  38. Icon – развитие Snobol.

  39. Knowledgeman – ЯП систем искусств. интеллекта.

  40. Limbo — ЯП в ОС Inferno.

  41. Lisp – функциональный ЯП.

  42. Logo – язык для обучения программированию.

  43. Lua – ЯП поведения объектов в играх.

  44. MapBasic – ЯП ГИС.

  45. Modula-2 – развитие Pascal.

  46. Object Pascal.

  47. Oberon – развитие Modula-2.

  48. Perl – ЯП для обработки текстов.

  49. PHP – ЯП генерации HTML и работы с БД.

  50. Phyton – высокоуровневый ЯП общего назначения.

  51. PL/1 – ЯП для научных, инженерных и бизнес-ориен­тированных вычислений.

  52. PPL – ЯП для КПК.

  53. Prolog – язык логического программирования.

  54. RPG – язык генерации отчетов.

  55. Ruby – ООЯП.

  56. Scala – ЯП компонентного ПО.

  57. Scheme – диалект Lisp.

  58. Simula 67 – первый ООЯП.

  59. Smalltolk-80.

  60. Snobol – язык обработки текстов.

  61. SQL – язык запросов.

  62. Tcl – скриптовый ЯП.

  63. MQL 4 – ЯП торговых стратегий.

  64. VBScript.

  65. Visual DataFlex – для работы с БД.

  66. Zonnon – ЯП для .NET.

Любой другой популярный язык по согласованию с преподавателем.

Структура курсовой работы

Отчет должен содержать следующие пункты.

1. Задание

Например. Разработать формальный язык, являющийся упрощенным вариантом языка Паскаль.

2. Название языка

Например. EASY PASCAL.

3. Прагматика языка

3.1. Цель создания языка и его назначение

Например. Целью создания языка EASY PASCAL было создание максимально простого языка программирования с типичным для языков высокого уровня синтаксисом.

Язык EASY PASCAL предназначен для демонстрации способов построения грамматики и отработки методов трансляции.

3.2. Классификация языка

Например. Язык EASY PASCAL является процедурно-ориентированным языком программирования высокого уровня. По характеру функциональных возможностей он является вычислительным языком.

3.3. Характеристика языка

В этом пункте дается краткая характеристика языка по следующим статьям:

  • самостоятельная единица языка (программа, директива, запрос, команда, описание или что-то другое);

  • тип транслятора (компилятор или интерпретатор);

  • операционная система;

  • способы хранения самостоятельной единицы языка;

  • наличие таких свойств ООП, как наследование, инкапсуляция и полиморфизм;

  • модульность;

  • возможность расширения языка;

  • возможность использования динамической памяти;

  • использование рекурсии;

  • применение библиотек подпрограмм, классов или компонентов;

  • необходимое программное окружение;

  • способы ввода, хранения, изменения, вывода и использования самостоятельных единиц языка.

Некоторые нехарактерные для данного языка статьи можно опустить, а какие-то, наоборот, добавить.

Например. Самостоятельной единицей языка является программа. Тип транслятора – компилятор. Компилятор и откомпилированные программы могут работать в операционных системах MS DOS и Windows.

Язык не является ни объектным, ни модульным. Он не предусматривает расширение. Динамическая память не используется. Использование рекурсии не допускается.

Исходные тексты программ создаются и изменяются любым текстовым редактором и сохраняются в текстовых файлах ASCII-кодировки с расширением "pas". Сообщения о результатах компиляции и об ошибках сохраняются в отдельном файле. Откомпилированные программы оформляются в виде "com"-файлов и могут выполняться при их вызове.