Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

Xtext

< >

Xtext is a grammar language created in 2006.

#478on 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
- Build the next great programming language · Add · About · Search · Keywords · Livestreams · Labs · Resources · Acknowledgements · Part of the World Wide Scroll