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

EMFText: Concrete Syntax Zoo

This page contains a collection of 100 concrete text syntaxes defined with EMFText's CS language.

Contents

Getting started

To use a syntax, make sure you have installed the EMFText SDK as described at the Download section. Most of the languages listed here can be obtained using the EMFText Update Site.

For all other languages that are not available there, checkout the listed plug-ins from the SVN repository. After checkout, right click on the '.cs' file and select "Generate Text Resource". The remaining compile errors are most probably due to missing generated code from the meta model. To obtain this code, open the genmodel, which is usually located in the 'metamodel' folder and generate the model code.

Attention: If you check out languages from the SVN trunk, you might also need to use the trunk version of EMFText to generate the text resource plug-ins.

Languages

Domain Specific Languages (DSLs)

Functions Language*

Hibernate Entity Definition Language (HEDL)*

Requirements Language

Regular Expressions*

Augmented Backus Naur Form (RFC2234)*

101companies Language

Forms*

Formular (Forms in German)*

Feature Models*

Reuseware Composition System Definition Language*

Reuseware Reuse Extension Language*

Timing constraint language for UML Statemachines

Language for Tool Families of Eclipse Plugins

Security Properties*

Language for defining textual syntax (used by EMFText itself)*

Language Workbench Competition 2011 DSLs

Role Model (language for defining the participants of generic refactorings)*

Refactoring Specification (language for defining the transformation steps of generic refactorings)*

Role Mapping (language for mapping a generic refactoring to arbitrary DSLs)*

Simple Weave: An aspect weaving language*

Modelling Languages

Quick UML*

yUML

UML Statemachines*

EFactory*

ModelQuery*

Use Case Invariant*

Value Flow*

Meta Modelling Languages

Ecore: TextEcore*, MinimalEcore*

Ecore Facade*

KM3 (Kernel Meta Meta Model)*

EMFDoc*

DBSchema*

Constraint/Analysis Languages

OCL (available from the Dresden OCL website).

General Purpose Languages

Java 5*

Template Call (Language to instantiate templates)

Extensions/Variants of General Purpose Languages

FormsEmbedded

eJava*

Java Templates

Java Behavior4UML*

PropertiesJava*

ReuseJava*

SQLJava

TreeJava*

Java Closures*

Featherweight Java*

SimTL4J - Simple Template Language for Java

DSLs integrated with General Purpose Languages

FormsExtension

JavaForms

Ontology Languages

OWL2 Manchester Syntax*

OWL2 Functional-Style Syntax

OWLCL*

SPARQL*

SPARQL-DL Abstract Syntax

SWRL

Math and Logics

DOT (Graphviz language)*

Simple Math Expressions*

Calc

Three Valued Logic*

Lamba Calculus

Formal Methods

B

Petri nets*

Document formats

Plain Text

CSV (Comma Separated Values)*

XML

Java Properties Files*

OSGi Manifest Files*

Bibtex Files

Games

Chess*

Text Adventure*

Point And Click ADventures (PACAD)

Toy DSLs

AppFlow

Simple C

Simple GUI specification*

Conference*

Sandwich Recipes*

Customers*

Office*

Office2 (extension of Office with operations)

Fashion Models

Custom Sandwich (template language for sandwiches)*

Theater - Theater Script DSL*

Rails - Toy Train Models

Martin Fowler's DSL example*

Pico*

PL/0*

Logo

Notes*

Languages Extensions/Variants

Triple Graph Grammar Rules for Mapping Petri Nets

Triple Graph Grammar Rules for Mapping Rails - Toy Train Models

Experimental

C#

Tcl/Tk

SQL*

LaTex

ECL

Rolecore (Role-based Ecore)

EAG (EMF Attribute Grammars)

AIR Abstract Syntax Definition

WebTest Scripts*

DynamicUI

* language is available from the EMFText Update Site

Got more? Want more?

You've developed a syntax specification and you want to share it? Send an email to: emftext-users [at] mail-st.inf.tu-dresden [dot] de.

If you've got a language on your mind you'd like to specify with EMFText please let us know as well. We'll add it to the Concrete Syntax Wish List. Maybe we can join forces and populate the Zoo together.

Add a Language to the Zoo

Follow these guidelines.