Top 1,000 Features Creators Events Podcasts Extensions Interviews Blog Explorer CSV

Xtext

< >

Xtext is a grammar language created in 2006.

#497on PLDB 18Years Old
Download source code:
git clone https://github.com/eclipse/xtext
Homepage · Source Code · Wikipedia · Twitter

Xtext is an open-source software framework for developing programming languages and domain-specific languages (DSLs). Unlike standard parser generators, Xtext generates not only a parser, but also a class model for the abstract syntax tree, as well as providing a fully featured, customizable Eclipse-based IDE.Xtext is being developed in the Eclipse Project as part of the Eclipse Modeling Framework Project and is licensed under the Eclipse Public License.. Read more on Wikipedia...


Example from the web:
grammar org.eclipse.xtext.common.Terminals hidden(WS, ML_COMMENT, SL_COMMENT) import "http://www.eclipse.org/emf/2002/Ecore" as ecore terminal ID: '^'?('a'..'z'|'A'..'Z'|'_')('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; terminal INT returns ecore::EInt: ('0'..'9')+; terminal STRING: '"' ( '\\'('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') | !('\\'|'"') )* '"' | "'" ( '\\'('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') | !('\\'|"'") )* "'"; terminal ML_COMMENT: '/*' -> '*/'; terminal SL_COMMENT: '//' !('\n'|'\r')* ('\r'? '\n')?; terminal WS: (' '|'\t'|'\r'|'\n')+; terminal ANY_OTHER: .;

Language features

Feature Supported Example Token
Mixins
grammar org.example.domainmodel.Domainmodel
       with org.eclipse.xtext.common.Terminals
File Imports
import "http://www.xtext.org/example/Domainmodel"
import "http://www.xtext.org/example/Domainmodel" as dmodel

View source

- Build the next great programming language · About · Resources · Acknowledgements · Part of the World Wide Scroll