Skip to content

Latest commit

 

History

History
64 lines (46 loc) · 2.51 KB

README.md

File metadata and controls

64 lines (46 loc) · 2.51 KB

FURCAS

FURCAS is language workbench. You can think of it as an IDE that helps you to develop your own IDE, for you own language.

FURCAS is based on Eclipse and EMF.

Why might I be interested in FURCAS?

  • You want to build your own domain specific languages and basically get features like syntax highlighting, auto completion and simple but safe refactorings for free.
  • You do already use EMF models in your application, but want to edit your models in a textual rather than a graphical syntax.

So, how does it work?

FURCAS uses a template language to create textual representations of classes of a metamodel. As this language maps grammar fragments to metamodel classes, it is called mapping.

From such a mapping, we derive incremental parsers and pretty printers so that when you update either your model or your text, the other one will be updated accordingly.

Lets consider your metamodel has a metaclass named Workflow. A Workflow consists of several ordered steps, each represented by a Step class.

You might have a particular workflow model that consists of three steps. You may want to view and edit it in textual syntax like the following:

workflow:
   Step1: Do this,
   Step2: Do that,
   Step3: Finish

Corresponding templates in FURCAS to achieve this may look like:

template Workflow
:  "workflow" ":" steps{separator=","}
; 
template Step
:  name ":" description
;

That is it. You can feed this to FURCAS and then start to create new models, or modify your existing ones using this syntax.

FURCAS automatically looks up types and multiplicities in your metamodel. You don't have to specify these again.

Is it any good?

Not yet :-)

Why not?

We used to have very high ambitions and are new suffering from lacking manpower. If you want to have an impression of our current status, please have a look here.

We contributed a scalable event manager and the OCL implact analysis to Eclipse. The impact analysis tells you when your OCL expressions should be re-evaluted after model changes. You can find both it in the OCL Examples and Editors features since the Eclipse Indigo release.

Links