Xtext is a grammar language created in 2006.
#486on PLDB | 18Years Old |
git clone https://github.com/eclipse/xtext
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...
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:
.;
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 |