PLDB
Languages Features Calendar CSV Lists Blog About Sponsor Add Language
GitHub icon

Xtext

Xtext

Xtext is a grammar language created in 2006.

#444on PLDB 16Years 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 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

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
datascript.html · xtext.html · vrml.html

View source

PLDB - Build the next great programming language · v2022 · Day 31 · Docs · Build · Acknowledgements · Traffic Today · Traffic Trends · Mirrors · GitHub · feedback@pldb.com