엑스텍스트
Xtext![]() | |
안정적 해제 | 2.25.0 / 2021년 3월 2일;[1] 전 |
---|---|
리포지토리 | github |
유형 | 소프트웨어 프레임워크 |
면허증 | 이클립스 공용 라이선스 |
웹사이트 | xtext |
Xtext는 프로그래밍 언어와 도메인별 언어(DSL) 개발을 위한 오픈 소스 소프트웨어 프레임워크다.Xtext는 표준 파서 생성기와는 달리 파서뿐만 아니라 추상 구문 트리의 클래스 모델도 생성하며, 완전한 기능을 갖춘 맞춤형 Eclipse 기반 IDE를 제공한다.[2]
Xtext는 Eclipse Modeling Framework Project의 일환으로 Eclipse Project에서 개발 중이며 Eclipse Public License에 따라 라이센스가 부여된다.[citation needed]
역사
Xtext의 첫 번째 버전은 2006년에 openArchitectureWare 프로젝트에 출판되었다.oAW 프로젝트 하에서 공개된 마지막 버전은 버전 4.3이었다.Xtext는 2008년 초부터 Eclipse Modeling Project에 따라 Eclipse에서 개발되었다.[3]
이클립스의 연간 동시 발매에 합류한 Xtext는 버전 0.7.0(2009년 6월), 1.0(2010년 6월), 2.0(2011년 6월), 2.3(2012년 6월), 2.5(2013년 12월), 2.6(2014년 5월), 2.7(2014년 9월)을 발매했다.프레임워크는 주로 독일 회사인 Itemis에 의해 개발된다.[4]
기능
언어를 지정하기 위해 개발자는 Xtext의 문법 언어로 문법을 써야 한다.이 문법은 Ecore 모델이 텍스트 표기법에서 어떻게 파생되는지를 설명한다.이 정의에서 코드 생성기는 ANTLR 파서와 객체 모델의 클래스를 파생한다.둘 다 Eclipse와는 별개로 사용할 수 있다.
Xtext에는 Eclipse 기반 IDE와 잘 통합되는 기능이 포함되어 있다.
- 구문 채색
- 코드완료
- 정적 분석
- 개요 보기
- 소스 코드 탐색
- 인덱싱
- 보기 비교
- 호버스
- 코드 폴딩
- 리팩토링 이름 바꾸기
Xtext 언어와 IDE는 언어 인프라와 IDE가 종속성 주입과 Guice를 사용하여 연결되기 때문에 구성성이 매우 높다.대신 사용자 정의된 구성 요소를 바인딩하여 기본 구성 요소를 쉽게 교체할 수 있다.
버전 2.0 이후 Xtext는 Eclipse의 Java Development Toolkit에 긴밀하게 통합된 Java 아티팩트를 참조하고 컴파일하여 Java 가상 머신의 도메인별 언어 개발을 촉진해 왔다.재사용 가능한 표현식 언어 라이브러리는 DSL 내에서 풍부한 동작을 가능하게 한다.
Xtend로 작성된 코드 생성기는 모든 언어에 연결될 수 있다.JVM 언어의 경우 DSL 개념을 Java 아티팩트에 매핑해 전체적인 Java 통합을 얻는 것으로 충분하다.대체 통역사도 이용할 수 있다.[clarification needed]
사용하다
이 글을[when?] 쓸 당시 Xtext 홈페이지는 Xtext를 사용하는 여러 애플리케이션 도메인의 40여 개의 상업적, 비상업적 프로젝트를 나열했다.[5]
- 인기 있는 DSL(Domain Specific Language)인 AWK는 Xtext를 기반으로 한다.
- 범용어 Xtend도 Xtext로 제작됐다.[citation needed]
수상
- Eclipse Community Awards 2010: "Most Innovative New Feature or Eclipse Project"[6]
- Sebastian Zarnekow, 커밋, Eclipse Community Awards 2011: "Top Committer"[7]
- Sven Efftinge, 프로젝트 책임자, Eclipse Community Awards 2012: "Top Committer"[8]
참고 항목
참조
- ^ "Xtext - Release Notes". eclipse.org. Retrieved 2021-04-05.
- ^ github/xtext, Eclipse Foundation, 2021-02-04, retrieved 2021-02-08
- ^ Efftinge, Sven. "Xtext - Language Engineering Made Easy!". www.eclipse.org. Retrieved 16 February 2018.
- ^ http://www.itemis.com에서 검색된 항목.
- ^ http://www.eclipse.org/Xtext/community.html에서 검색됨.
- ^ Gayowski, Lynn. "Eclipse Community Awards Winners Announced". www.eclipse.org. Retrieved 16 February 2018.
- ^ Skerrett, Ian. "Eclipse Community Awards Winners Announced". www.eclipse.org. Retrieved 16 February 2018.
- ^ Guindon, Christopher. "Eclipse Community Award Winners Announced". www.eclipse.org. Retrieved 16 February 2018.
참고 문헌 목록
- Sven Efftinge; Jan Köhnlein; Peter Friese. "Build your own textual DSL with Tools from the Eclipse Modeling Project". Eclipse Foundation. Retrieved 2012-07-03.
- Sven Efftinge. "Fowler's DSL example with Xtext". sven efftinge's blog. Retrieved 2012-07-03.