77213

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

Курсовая

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

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

Русский

2015-02-02

96 KB

2 чел.

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

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

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

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

СОЗДАНИЕ СРЕДЫ РАЗРАБОТКИ ДЛЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ 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


 

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

27023. Синтетический учет поступления и выбытия целевых средств 16.06 KB
  предписывают учет поступления и расходования средств целевого финансирования на счете 86 Целевое финансирование. К сожалению приходится констатировать тот факт что действующая в области бухгалтерского учета законодательнонормативная база не включает в себя какоголибо отдельного правового акта содержащего четкое определение целевого финансирования и детальной методологии его бухгалтерского учета в некоммерческих организациях4. Таким образом в настоящее время некоммерческие организации могут вести бухгалтерский учет целевого...
27024. Содержание, задачи и источники информации анализа исполнения сметы расходов 13.26 KB
  Содержание задачи и источники информации анализа исполнения сметы расходов В бюджетных и научных учреждениях учет расходов и составление отчетности осуществляются в разрезе показателей сметы которые обобщены в двух основных статьях: текущие расходы и капитальные расходы. Содержанием анализа исполнения смет расходов является оценка эффективности использования выделенных учреждению материальных трудовых и финансовых ресурсов выявление отклонений фактических расходов от сметных назначений а также количественная оценка влияния факторов...
27025. Сравнительная характеристика аудита и ревизии 14.14 KB
  Сравнительная характеристика аудита и ревизии 1.Основная цель ревизии заключается в выявлении недостатков и нарушений для их устранения и наказания виновных. Акт ревизии представляет собой документ в котором излагаются выявленные недостатки и нарушения. Акт и другая информация передаются вышестоящим и другим контролирующим органам для принятия решений по результатам проведенной ревизии .
27026. Сравнительная характеристика финансового и управленческого учета 13.51 KB
  учете потребителями информации являются работники упр. В финансовом учете информация формируется и отражается в отчетности в целом по организации. учете информация формируется и составляется отчетность по центрам ответственности видам деятельности отдельным изделиям и другим позициям. В финансовом учете обязательно используются все элементы метода бухгалтерского учета документация и инвентаризация оценка и калькуляция счета и двойная запись бухгалтерский баланс и отчетность.
27027. УЧЕТНАЯ ПОЛИТИКА, ИЗМЕНЕНИЯ В РАСЧЕТНЫХ РАСЧЕТАХ 12.11 KB
  Компоненты чистой прибыли убытка за период: 1 прибыль убыток от операционной деятельности. Под обычной деятельностью понимают деятельность осуществляемую предприятием как часть его бизнеса а такие относящиеся к ней виды деятельности которые осуществляются впоследствии присущи обычной деятельности или возникают в ее результате; 2 чрезвычайные статьи. Это доходы или расходы возникающие в результате событий или операций которые четко можно отделить от обычной деятельности предприятия и в отношении которых можно предположить что они...
27028. План счетов бюджетного учета. Учетные регистры 19.05 KB
  План счетов бюджетного учета. План счетов бюджетного учета Бюджетный учёт основывается на едином плане счетов. Единый план счетов бюджетного учёта можно рассматривать в двух аспектах. Вовторых понятие единый план счетов предполагает наличие плана счетов в котором систематизированы балансовые счета по всем объектам бюджетного учёта.
27029. Анализ состава, структуры и состояния ОС 13.29 KB
  Анализ состава структуры и состояния ОС В бюджх учрях наиболее интересной явлся группировка ОС по их видам которая устанна формой поясной записки № 0503168 Сведения о движении нефинх активов где отражся инфия о балансой стти и сумме начислой амортии в разрезе аналх счетов к счетам 010100000 010400000 010800000. Это обусловлено тем что не все ОС в одинаковой степени влияют на выполние функций бюджх учрий. К пассивной части отнся объекты здания сооружия транс срва которые призваны создавать благоприятные условия...
27030. Анализ технико-организационного уровня производства 27.19 KB
  Анализ техникоорганизационного уровня производства Прежде чем приступать к анализу отдельных направлений деятельности организации и показателей эффективности характеризующих то или иное направление работы организации необходимо в соответствии с теорией системности и комплексности изучить техникоорганизационный уровень производства и управления в организации. Основными направлениями для оценки состояния техникоорганизационного уровня производства являются: 1 Анализ научнотехнического уровня производства: техническое...
27031. Аудиторское заключение 13.49 KB
  Аудиторское заключение Аудиторское заключение – это официальный документ предназначенный для пользователей бух отчетности проверяемого субъекта. Оно содержит мнение аудитора о достоверности бух отчетности проверяемого эк. субъекта и о соответствии порядка ведения им бух учета закву. порядка ведения бух учета и подготовки бух отчетности; описание выявленных в ходе аудита существенных нарушений ведения бух учета и подготовки бух отчетности.