Xтекст

Фреймворк программного обеспечения с открытым исходным кодом
Eclipse Xtext
Стабильный релиз
2.31.0 / 2 марта 2021 г. ; 3 года назад [1] ( 2021-03-02 )
Репозиторийgithub.com/eclipse-xtext/xtext
ТипПрограммная структура
ЛицензияПубличная лицензия Eclipse
Веб-сайтxtext.org

Xtext — это программная среда с открытым исходным кодом для разработки языков программирования и предметно-ориентированных языков (DSL). В отличие от стандартных генераторов парсеров , Xtext генерирует не только парсер , но и модель классов для абстрактного синтаксического дерева , а также предоставляет полнофункциональную, настраиваемую IDE на базе Eclipse. [2]

Xtext разрабатывается в проекте Eclipse как часть проекта Eclipse Modeling Framework . Он лицензирован в соответствии с Eclipse Public License . [3]

История

Первая версия Xtext была опубликована в 2006 году в проекте openArchitectureWare. Последняя версия, выпущенная в рамках проекта oAW, была 4.3. С начала 2008 года Xtext разрабатывается в Eclipse в рамках проекта Eclipse Modeling Project. [4]

Присоединившись к ежегодному одновременному выпуску Eclipse , Xtext выпустил версии 0.7.0 (июнь 2009), 1.0 (июнь 2010), 2.0 (июнь 2011), 2.3 (июнь 2012), 2.5 (декабрь 2013), 2.6 (май 2014) и 2.7 (сентябрь 2014). Фреймворк в основном разрабатывается немецкой компанией Itemis. [5]

Функциональность

Чтобы указать язык, разработчик должен написать грамматику на языке грамматики Xtext. Эта грамматика описывает, как модель Ecore выводится из текстовой нотации. Из этого определения генератор кода выводит парсер ANTLR и классы для объектной модели. Оба могут использоваться независимо от Eclipse.

Xtext включает в себя функции, которые хорошо интегрируются с IDE на базе Eclipse:

  • Раскраска синтаксиса
  • Автодополнение кода
  • Статический анализ
  • Вид контура
  • Навигация по исходному коду
  • Индексация
  • Сравните вид
  • Парит
  • Сворачивание кода
  • Переименование рефакторинга

Языки Xtext и IDE обладают высокой степенью настройки, поскольку языковая инфраструктура и IDE связаны с использованием внедрения зависимостей и Google Guice . Компоненты по умолчанию можно легко заменить, привязав вместо них настроенные.

Начиная с версии 2.0, Xtext облегчает разработку доменно-специфичных языков для виртуальной машины Java , ссылаясь на артефакты Java и компилируя их с тесной интеграцией в Java Development Toolkit Eclipse. Библиотека языков выражений многократного использования обеспечивает богатое поведение в DSL.

Генератор кода, написанный в Xtend , может быть подключен к любому языку. Для языков JVM достаточно сопоставить концепции DSL с артефактами Java, чтобы получить целостную интеграцию Java. Также доступен альтернативный интерпретатор . [ требуется пояснение ]

Использует

На момент написания этой статьи [ когда? ] на домашней странице Xtext было перечислено около 40 коммерческих и некоммерческих проектов из нескольких прикладных областей, использующих Xtext. [6]

  • AWK, популярный предметно-ориентированный язык (DSL), основан на Xtext.
  • Универсальный язык Xtend также создан с использованием Xtext. [ необходима ссылка ]

Награды

  • Премия сообщества Eclipse 2010: «Самая инновационная новая функция или проект Eclipse» [7]
  • Себастьян Зарнеков, участник, Eclipse Community Awards 2011: «Лучший участник» [8]
  • Свен Эффтинг, руководитель проекта, Eclipse Community Awards 2012: «Лучший участник» [9]

Смотрите также

Ссылки

  1. ^ "Xtext - Заметки о выпуске". eclipse.dev . Получено 29.05.2023 .
  2. ^ github/xtext, Eclipse Foundation, 2021-02-04 , получено 2021-02-08
  3. ^ Web, EclipseWeb (2013-01-31). "Eclipse Xtext". projects.eclipse.org . Получено 2024-11-24 .
  4. ^ Эффтинг, Свен. «Xtext — разработка языка стала проще!». www.eclipse.org . Получено 16 февраля 2018 г.
  5. ^ itemis. Получено с http://www.itemis.com.
  6. ^ Получено с http://www.eclipse.org/Xtext/community.html.
  7. ^ Гайовски, Линн. «Объявлены победители конкурса Eclipse Community Awards». www.eclipse.org . Получено 16 февраля 2018 г.
  8. ^ Скерретт, Ян. «Объявлены победители конкурса Eclipse Community Awards». www.eclipse.org . Получено 16 февраля 2018 г.
  9. ^ Гиндон, Кристофер. «Объявлены победители премии сообщества Eclipse». www.eclipse.org . Получено 16 февраля 2018 г.

Библиография

  • Свен Эффтинге; Ян Кёнляйн; Питер Фризе. «Создайте свой собственный текстовый DSL с помощью инструментов из проекта моделирования Eclipse». Eclipse Foundation . Получено 03.07.2012 .
  • Свен Эффтинг. "Пример DSL Фаулера с Xtext". Блог Свена Эффтинга . Получено 2012-07-03 .
Взято с "https://en.wikipedia.org/w/index.php?title=Xtext&oldid=1268122978"