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

Guidelines for adding a new language to the syntax zoo

Languages in EMFText's repository

If the language should be hosted in EMFText's language repository:

  1. Define your language: metamodel, text syntax, Resolvers and additional plugins (e.g., PostProcessors)
  2. Submit all plugins to the SVN into the EMFText Languages category.
  3. Add the new language to build scripts:
    1. build-text-resources.xml : generate-text-resources
    2. build-text-resources.xml : generate-emftext-languages-metamodel-code (if you defined a new metamodel)
    3. run-emftext-language-tests.xml : add bin directory path to create-classpath-jar to make all classes of your language are available
    4. run-emftext-language-tests.xml : run-simple-tests (if you've got an own test plug-in for your language)
  4. Register your language to the generic language test registry in TestLanguageRegistry. To do so add your meta information class in getMetaInformationsForLanguageOnUpdateSite()
  5. Add language to distribution build script, define feature, extend update site:
    • If the language should be added to the update site:
      1. Define a feature.xml for your language. Make sure to add ALL plugins to the feature. Commit the feature.xml to the repository here: Build/org.reuseware/features/.
      2. Add your feature to the site.xml. As initial version number you should use 0.0.0.v0.
      3. build.xml : build-emftext-languages Add buildplugin commands for ALL plugins of the language and a buildfeature command for the feature.
    • If the language should NOT (yet) be added to the update site
      1. build.xml : build-emftext-languages Add a comment TODO: <Languge Name> to ensure that we reconsider to add the language to the update site in the future (when it has evolved).
  6. Add a new wiki page named EMFText Concrete Syntax Zoo <Language Name> and link it from an appropriate category in the Syntax Zoo. Enter a description and links to the language into the new page.
  7. Increase the counter on the Syntax Zoo page by 1.

In the case that the language is so pre-mature that it should not yet appear on the Syntax Zoo page, skip the last step, but add a comment TODO: <Language Name> to the Syntax Zoo wiki code to ensure that we do not forget to add it later.


External Languages

If the language is hosted in another repository:

  1. Add a comment in the code of the Syntax Zoo wiki page right above Languages headline.
  2. Add a new wiki page named EMFText Concrete Syntax Zoo <Language Name> and link it from an appropriate category in the Syntax Zoo. Enter a description and links to the language into the new page.
  3. Increase the counter on the Syntax Zoo page by 1.

Retrieved from "http://www.emftext.org/index.php/EMFText_Concrete_Syntax_Zoo_Guidelines"

This page has been accessed 338 times. This page was last modified 12:01, 4 January 2010.