DevBooststLogotudLogorewerseLogo modelplexLogo
crimsonBG
EMFText
The fastest way to refinable, durable and evolution-resistant textual syntaxes for EMF models!

EMFText 1.4.1 is out!

Get it while it's hot! For details about the release please consult the Release Notes and the New and Noteworthy pages.

Drag this link to a running Eclipse Juno instance (e.g., the title bar) to install EMFText:

installbutton.png

Welcome to EMFText

EMFText is an Eclipse plug-in that allows you to define text syntax for languages described by an Ecore metamodel. EMFText enables developers to define textual Domain Specific Languages quickly and without the need to learn new technologies and concepts. Give it a shot and you'll find EMFText indispensible for your model-driven development processes (also see the top 10 reasons why to use EMFText).

Example DSL to model forms

We have lots of example languages, which makes it easy for you to define new languages (or language extensions) on your own. The zoo currently contains 100 ready made languages, including:

Features

  • Generation of independent code
    • Generated code does not contain dependencies to EMFText
    • All code is fully customizable
    • Generated language tooling is deployable in environments where EMFText is not available
    • Future compatibility issues are completely avoided
    • UI code is generated to a separate plug-in enabling the usage of DSLs in headless environments (e.g., on web servers)
  • Specification features
    • Automatic generation of default syntaxes (HUTN and Java-like)
    • Simple and precise syntax specification
    • Modular specification (Support for abstract syntaxes and syntax imports)
    • Default reference resolving mechanisms
    • Comprehensive syntax analysis to warn about potential syntax problems
    • Partial token definitions
    • Support for expression hierarchies
  • Editor features
    • Outline View
    • Customizable Syntax Highlighting
    • Occurence Highlighting
    • Code Completion
    • Advanced bracket handling
    • Hyperlinks
    • Texthovers
    • Instant error reporting
    • Quick fixes
  • Other features
    • ANT support to generate text syntax plug-ins in build scripts
    • Generation of builder and interpreter stubs
    • Generation of complete debugging infrastructure

Getting started

The EMFText feature is available from our Update-Site at http://emftext.org/update. To see more, watch the EMFText Installation Screencast.

The EMFText Getting Started Screencast demonstrates how to create a small example language with EMFText.

Documentation

Application areas

Support

jprofiler.png
EMFText is optimized using JProfiler, which is made available to the EMFText team through an open source project license. Many thanks go to ej-technologies for making that possible!

History

The EMFText tool was originally developed as part of the Reuseware Composition Framework and later extracted into a single tool that can be used independently from Reuseware. Still, if you are a language developer, you might find that Reuseware can also improve your language. Try it out as well: Go to Reuseware.