Xtext ~ A Language Development Framework
To make simple things simple and complex things possible.
Xtext is a framework/tool for development of external textual DSLs. Just describe your very own DSL using Xtext’s simple EBNF grammar language and the generator will create a parser, an AST-meta model (implemented in EMF) as well as a full-featured Eclipse Text Editor from that.
In software development and domain engineering, a domain-specific language (DSL) is a programming language or specification language dedicated to a particular problem domain, a particular problem representation technique, and/or a particular solution technique.
- HTML, Logo for children,
- Verilog and VHSIC hardware description languages,
- R and S languages for statistics,
- Mata for matrix programming,
- SQL for relational database queries,
- YACC grammars for creating parsers,
- Regular expressions for specifying lexers,
No matter if you want to create a small textual domain-specific language (DSL) or you want to implement a full-blown general purpose programming language.
With Xtext you can create your very own languages in a snap.
Use Xtext to create a sophisticated Eclipse-based development environment providing editing experience known from modern Java IDEs in a surprisingly short amount of time.
Mobile devices
Automotive development
Embedded systems or Java enterprise software projects and
Game development
People use Xtext-based languages to drive code generators that target Java, C, C++, C#, Objective C, Python, or Ruby code.
Although the language infrastructure itself runs on the JVM, you can compile Xtext languages to any existing platform. Xtext-based languages are developed for well known Open-Source projects such as Maven, Eclipse B3, the Eclipse Webtools platform or Google’s Protocol Buffers and the framework is also widely used in research projects.
http://www.eclipse.org/Xtext/documentation/2_0_0/000-introduction.php
http://www.eclipse.org/Xtext/documentation/2_0_0/005-installation.php
http://www.eclipse.org/Xtext/documentation/2_0_0/010-xtext-in-5-minutes.php
http://www.eclipse.org/Xtext/documentation/2_0_0/020-domainmodel-step-by-step.php
http://www.eclipse.org/Xtext/documentation/2_0_0/030-tutorial-next-steps.php
http://www.eclipse.org/Xtext/documentation/2_0_0/020-grammar-language.php
http://www.eclipse.org/Xtext/documentation/2_0_0/030-generator.php
http://www.eclipse.org/Xtext/documentation/2_0_0/050-heading-runtime.php
http://www.eclipse.org/Xtext/documentation/2_0_0/120-heading-UI.php
http://www.eclipse.org/Xtext/documentation/2_0_0/118-mwe-in-depth.php
http://eclipse.dzone.com/articles/getting-started-xtext