Languages Features Creators CSV Resources Challenges Add Language
GitHub icon

Xtext

Xtext - Grammar language

< >

Xtext is a grammar language created in 2006.

#482on PLDB 17Years Old 1.7kUsers
3Books 0Papers

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 Token Example
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

Books about Xtext from ISBNdb

title authors year publisher
Implementing Domain-Specific Languages with Xtext and Xtend Bettini, Lorenzo 2013 Packt Publishing
Implementing Domain-Specific Languages with Xtext and Xtend Bettini, Lorenzo 2013 Packt Publishing
Implementing Domain-Specific Languages with Xtext and Xtend Lorenzo Bettini 31-08-2016 Packt Publishing
dynamo-visual-language.html · xtext.html · hla.html

View source

- Build the next great programming language · Search · Day 209 · About · Blog · Acknowledgements · Traffic · Traffic Today · GitHub · feedback@pldb.com