Child pages
  • What's new in MPS 3.3 EAP1
Skip to end of metadata
Go to start of metadata


Custom Language Aspects

MPS 3.3 aims at allowing language designers to implement and use their own language aspects, such as custom editors or type-system.

Several new features make it already possible to define new language aspects:

  • runtime class instantiation in the language descriptor (generated Language.class)
  • customizable icons for the aspect models
  • adjustment of the "new root" menu
  • integration of a few minor features

It still has to be implemented:Planned:

  • a better DSL for describing the language aspects
  • support in the smodel language in order to work with language aspects, languages and modules programatically

Typesystem: Overriding default type node

Allows to substitute another node to represent the type instead of the node originally used as a type.

  • Substitute Type Rule applied to original type nodes, returns alternative type representation;
  • the same rule applied to an attribute of the original type node enables aspect-oriented way of altering the default type representation.

More in the Typesystem documentation.

No Used Languages in modules

The need for importing languages twice - both to model, where the language is used, and to the model's module, is gone. Modules now derive used languages from the models that the module owns. It is no longer possible to add/remove languages in the 'Used Languages' tab in module properties.

  • No labels