Content assisted free text editor for Concrete metamodel

Concrete editor is powerful web-based DSL editor. It uses structured approach where appearance can be highly customized with HTML/CSS templates. Creation of a language is based on defining specific metamodel and optionally javascript plugins.

This project is simple free-text editor with code completion for Concrete metamodel. Main idea was to create language looks similar to natural language. It is not polished too much but it shows the concept. Source code is available on Concrete-Freetext project page. Some details about implementation you can find on DSL editor with code completion in Javascript entry on my blog.

Dedicated language to edit Concrete metamodel has been designed similar to natural language used in analysis activity. Basic sentence outline for an entity looks as <EntityName> (has <Attribute> as <Name> | contains <EntityName> as <Name> | has <Name> referring to <EntityName>)*. Below you have an example with definition of Statemachine metamodel.

Concrete metamodel result tree

No result tree.

Free text input