77213

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

Курсовая

Информатика, кибернетика и программирование

OCaml в настоящее время является активно развивающимся языком программирования. Секрет его успеха, возможно, заключается в том, что этот язык интуитивно понятен и прост для изучения даже неопытным программистом.

Русский

2015-02-02

96 KB

3 чел.

Санкт-Петербургский Государственный Университет

Математико-Механический Факультет

Кафедра Системного Программирования

Курсовая работа на тему

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

Работу выполнил

студент 4 курса 445 группы

Мануйлов Максим Игоревич

Научный руководитель

старший преподаватель

Шафиров Максим Геннадьевич

Санкт-Петербург

2009

Оглавление

стр.

Введение 3

Обзор существующих разработок 5

Реализация и использованные технологии 6

Заключение 9

Список литературы 10


Введение

OCaml в настоящее время является активно развивающимся языком программирования. Секрет его успеха, возможно, заключается в том, что этот язык интуитивно понятен и прост для изучения даже неопытным программистом. А возможно, в том, что он объединяет в себе три мощнейшие парадигмы: помимо того, что OCaml идеально подходит для решения задач функционального программирования, и того, что он с легкостью может быть использован для решения обычных императивных задач, он, как и любой современный язык программирования, является объектно-ориентированным.

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

Вывод типов означает, что программист не обязан указывать тип для каждого используемого объекта - OCaml сам выведет для него наиболее подходящий. Это не только упрощает работу программиста, но и позволяет также использовать один и тот же программный код для абсолютно разных объектов, не выделяя из них общий интерфейс.

В OCaml существуют три различных способа исполнения программы. Первый способ – это интерпретация исходного кода. Он может быть полезен как для отладки, так и для написания программ, решающих небольшие и специфические задачи. Два других способа основаны на компиляции исходного кода: второй способ – компиляция в машинный код конкретной архитектуры, а третий – компиляция в байт-код виртуальной машины OCaml. Разница между ними состоит в том, что машинный код исполняется быстрее, но может быть выполнен только на своей архитектуре, в то время как байт-код выполняется медленнее, но зато от конкретной архитектуры не зависит.

Как и многие современные языки программирования, OCaml обладает механизмом сборки мусора. Этот механизм избавляет программиста от необходимости следить за выделенной памятью и освобождать ее после использования – это происходит автоматически. В результате увеличивается стабильность программы, а сама программа упрощается.

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

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

Целью этой работы является написание такой среды разработки для языка OCaml.


Обзор существующих разработок

В настоящее время существует несколько сред разработки для языка OCaml:

  •  CamlX 
  •  Camelia
  •  XCode OCaml plugin 
  •  Emacs OCaml plugin
  •  Eclipse OCaml plugin

Основными недостатками этих продуктов являются сложность установки и недостаточная функциональность. А ведь простота установки, несомненно, является важнейшим фактором успеха: насколько бы мощным не был программный продукт, толку от него – ноль, если его невозможно правильно установить или настроить.

Единственный продукт, который стоило бы отметить – это Camelia. Устанавливается довольно просто, но из функциональных возможностей почти ничего нет. Однако для начального знакомства с языком эта среда вполне подходит как раз из-за своей простоты и небольшого размера.


Реализация и использованные технологии

Реализовать среду разработки было решено в виде плагина (расширения) к среде IntelliJ IDEA.

Плюсы такого решения в том, что эта среда кросс-платформенная (Windows, Linux, Mac OS), легко устанавливается, имеет репозиторий плагинов, из которого пользователь может установить любое доступное расширение всего за несколько секунд, имеет понятный интерфейс и большие возможности для написания расширений.

Из использованных технологий также стоит отметить JFlex – генератор лексических анализаторов, использованный для создания лексического анализатора языка OCaml.

Помимо лексического и синтаксического анализа, текущая версия среды предоставляет следующие возможности:

  •  Подсветка синтаксиса:

  •  Подсветка ошибок:

  •  Быстрый показ определения объекта:

  •  Автозавершение кода:

  •  Подсветка парных скобок:

  •  Сворачивание кода для удобства чтения:

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


Заключение

Результатом проделанной работы является рабочая начальная версия среды разработки для языка программирования OCaml.

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


Список литературы

  1.  http://caml.inria.fr/pub/docs/manual-ocaml/
  2.  http://www.jetbrains.com/idea/plugins/developing_custom_language_plugins.html
  3.  http://www.jetbrains.net/devnet/community/idea
  4.  http://www.ocaml-tutorial.org/
  5.  http://www.ffconsultancy.com/ocaml/benefits/index.html
  6.  http://martin.jambon.free.fr/extend-ocaml-syntax.html
  7.  http://shamil.free.fr/comp/ocaml/
  8.  http://ocaml.spb.ru/
  9.  http://community.livejournal.com/ru_caml/tag/ocaml
  10.  http://vshabanov-ru.blogspot.com/2007/04/ocaml-haskell.html


 

А также другие работы, которые могут Вас заинтересовать

75705. Служба инженера по охране труда на лесохозяйственном предприятии 14.1 KB
  Служба инженера по охране труда на лесохозяйственном предприятии В соответствии со статьей 217 Трудового кодекса Российской Федерации в каждой организации осуществляющей производственную деятельность с численностью более 50 работников создаётся служба охраны труда или вводится должность специалиста по охране труда. В организациях с численностью 50 и менее работников решение о создании службы охраны труда принимает работодатель с учётом специфики деятельности данной организации. В случае отсутствия службы охраны труда специалиста...
75706. Управление риском 11.43 KB
  Методы защиты от опасности на производстве: 1 инженерный метод реализуется путём дистанционного управления опасными и вредными процессами. Приёмы защиты человека от опасности: 1 осуществление организации мер защиты 2 создание техники с максимальным уровнем безопасности 3 средства коллективной защиты 4 разработка средств индивидуальной защиты 5 обучение воспитание психологическое воздействие.
75707. Организация работы уполномоченного (доверенного) лица по охране труда профсоюзной организации предприятия или трудового коллектива 16.38 KB
  Организация работы уполномоченного доверенного лица по охране труда профсоюзной организации предприятия или трудового коллектива. Институт уполномоченных создается для организации общественного контроля за соблюдением законных прав и интересов работников в области охраны труда на предприятиях всех форм собственности независимо от сферы их хозяйственной деятельности ведомственной подчиненности и численности работников. Не рекомендуется избирать уполномоченными работников которые по занимаемой должности несут ответственность за состояние...
75708. Комитет (комиссия) по охране труда л/х предприяти 13.12 KB
  Комитет комиссия по охране труда л х предприятия КОМИТЕТ КОМИССИЯ ПО ОХРАНЕ ТРУДА рабочий орган управления охраной труда в организации обеспечивающий согласованные действия работодателя и работников направленные на создание здоровых и безопасных условий труда в организации Комитеты комиссии по ОТ далее К. В их состав на паритетной основе входят представители работодателей профессиональных союзов или иного уполномоченного работниками представительного органа Если в организации нет ни одной первичной профсоюзной организации то в...
75709. .ОБЩИЕ ПОЛОЖЕНИЯ. 15.12 KB
  Задачи функции и права комитета комиссии по охране труда л х предприятия. Комитет создается на паритетной основе из представителей работодателей и уполномоченных работниками по охране труда и осуществляют свою деятельность в целях организации сотрудничества и регулирования отношений работодателей и работников их представителей уполномоченных.Численность комитета равно удвоенной численности уполномоченных по охране труда от работников. Председателем комитета не может быть избран работник который по своим служебным обязанностям ...
75710. Виды надзора и контроля за обеспечением безопасных условий труда 16.92 KB
  Виды надзора и контроля за обеспечением безопасных условий труда. 41 в том числе право работника на здоровые и безопасные условия труда. В соответствии с Федеральным законом Об основах охраны труда в Российской Федерации Правительство Российской Федерации утвердило Положение о федеральной инспекции труда. Федеральная инспекция труда единая федеральная централизованная система государственных органов осуществляющих государственный надзор и контроль за соблюдением законодательства Российской Федерации о труде и охране труда всеми...
75711. Порядок проведения администр.-общественного контроля (трехступенчатого контроля) за соблюдением безопасности труда на лесохоз. предприятии 16.38 KB
  общественного контроля трехступенчатого контроля за соблюдением безопасности труда на лесохоз. Трехступенчатый контроль в системе управления охраной труда является основной формой контроля представителями работодателя и трудового коллектива учреждения образования за состоянием условий ибезопасности труда на рабочих местах производственных участках и цехах а также соблюдением всеми службами должностными лицами и работниками требований трудового законодательства. Он является важным фактором в системе мероприятий по оздоровлению условий...
75712. Медицинское освидетельствование работников. Предварительные и периодические медицинские осмотры 16.82 KB
  Медицинское освидетельствование работников. Работа по предупреждению производственного травматизма и профессиональной заболеваемости должна начинаться на уровне организаций с проведения предварительных при поступлении на работу а затем и периодических медицинских осмотров работников. В соответствии со статьями 213 266 и 212 Трудового кодекса РФ работодатель обязан проводить обязательные медицинские осмотры обследования отдельных категорий работников за счет средств работодателя. Медицинские осмотры обследования работников занятых на...
75713. Обязательное социальное страхование 17.43 KB
  Представляет собой систему создаваемых государством правовых экономических и организационных мер направленных на компенсацию и минимизацию последствий изменения материального и или социального положения работающих граждан а в случаях предусмотренных законодательством РФ иных категорий граждан вследствие трудового увечья или профессионального заболевания и др. В России государственное обязательное социальное страхование представлено тремя фондами: пенсионным; обязательного медицинского страхования; социального страхования; Право на...