Xтекст
Эта статья нуждается в дополнительных цитатах для проверки . ( апрель 2016 г. ) |
![]() | |
Стабильная версия | 2.31.0 / 2 марта 2021 г [1] |
---|---|
Репозиторий | github |
Тип | Программная среда |
Лицензия | Публичная лицензия Eclipse |
Веб-сайт | текстовый текст |
Xtext — это с открытым исходным кодом программная среда для разработки языков программирования и предметно-ориентированных языков (DSL). В отличие от стандартных генераторов парсеров , Xtext генерирует не только парсер , но и модель классов для абстрактного синтаксического дерева , а также предоставляет полнофункциональную, настраиваемую IDE на основе Eclipse. [2]
Xtext разрабатывается в рамках проекта Eclipse Project как часть Eclipse Modeling Framework Project и распространяется по лицензии Eclipse Public License . [ нужна ссылка ]
История [ править ]
Первая версия Xtext была опубликована в 2006 году в проекте openArchitectureWare. Последней версией, выпущенной в рамках проекта oAW, была версия 4.3. С начала 2008 года Xtext разрабатывается в Eclipse в рамках проекта Eclipse Modeling Project. [3]
Присоединившись к ежегодному одновременному выпуску 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. [4]
Функциональность [ править ]
Чтобы указать язык, разработчик должен написать грамматику на языке грамматики Xtext. Эта грамматика описывает, как модель Ecore получается из текстовой записи. Из этого определения генератор кода получает анализатор ANTLR и классы объектной модели. Оба могут использоваться независимо от Eclipse.
Xtext включает в себя функции, которые хорошо интегрируются с IDE на основе Eclipse:
- Раскраска синтаксиса
- Завершение кода
- Статический анализ
- Контурный вид
- Навигация по исходному коду
- Индексирование
- Сравнить вид
- зависает
- Складывание кода
- Переименование рефакторинга
Языки Xtext и IDE имеют широкие возможности настройки, поскольку языковая инфраструктура и IDE связаны с использованием внедрения зависимостей и Google Guice . Компоненты по умолчанию можно легко заменить, привязав настроенные.
Начиная с версии 2.0, Xtext облегчает разработку предметно-ориентированных языков для виртуальной машины Java , ссылаясь на артефакты Java и компилируя их с тесной интеграцией в Eclipse Java Development Toolkit. Библиотека языков выражений многократного использования обеспечивает богатое поведение в рамках DSL.
Генератор кода, написанный на Xtend, можно подключить для любого языка. Для языков JVM достаточно сопоставить концепции DSL с артефактами Java, чтобы обеспечить целостную интеграцию Java. альтернативный переводчик . Также доступен [ нужны разъяснения ]
Использует [ править ]
На момент написания этой статьи [ когда? ] На домашней странице Xtext было перечислено около 40 коммерческих и некоммерческих проектов из нескольких областей применения, использующих Xtext. [5]
- AWK, популярный доменно-ориентированный язык (DSL), основан на Xtext.
- Язык общего назначения Xtend также построен на основе Xtext. [ нужна ссылка ]
Награды [ править ]
- Награды сообщества Eclipse 2010: «Самая инновационная новая функция или проект Eclipse» [6]
- Себастьян Зарнеков, комитент Eclipse Community Awards 2011: «Лучший коммиттер» [7]
- Свен Эффтинге, руководитель проекта, Eclipse Community Awards 2012: «Лучший комитент» [8]
См. также [ править ]
Ссылки [ править ]
- ^ «Xtext — Примечания к выпуску» . eclipse.dev . Проверено 29 мая 2023 г.
- ^ github/xtext , Eclipse Foundation, 04 февраля 2021 г. , получено 8 февраля 2021 г.
- ^ Эффтинге, Свен. «Xtext — языковая инженерия стала проще!» . www.eclipse.org . Проверено 16 февраля 2018 г.
- ^ пункт. Получено с http://www.itemis.com .
- ^ Получено с http://www.eclipse.org/Xtext/community.html .
- ^ Гаёвски, Линн. «Объявлены победители премии сообщества Eclipse» . www.eclipse.org . Проверено 16 февраля 2018 г.
- ^ Скерретт, Ян. «Объявлены победители премии сообщества Eclipse» . www.eclipse.org . Проверено 16 февраля 2018 г.
- ^ Гуиндон, Кристофер. «Объявлены победители премии сообщества Eclipse» . www.eclipse.org . Проверено 16 февраля 2018 г.
Библиография [ править ]
- Свен Эффтинге; Ян Кёнляйн; Питер Фризе. «Создайте свой собственный текстовый DSL с помощью инструментов из проекта моделирования Eclipse» . Фонд Эклипс . Проверено 3 июля 2012 г.
- Свен Эффтинге. «Пример DSL Фаулера с Xtext» . Блог Свена Эффтинге . Проверено 3 июля 2012 г.