TCS/Language Project
< TCS
Revision as of 09:08, 4 October 2007 by Freddy.allilaire.univ-nantes.fr (Talk | contribs) (→Adding the Language Builder: added screenshot for the configuration of the Classpath tab)
A TCS Language Project is an Eclipse project (typically with the ATL nature), which contains:
- A KM3 metamodel defining the abstract syntax of the language.
- A TCS model defining the concrete syntax of the language.
- Optionally, such a project may also contain:
- Constraints (e.g., in OCL, as part of an ATL transformation).
- A compiler (e.g., in ATL, or in ACG).
Creating a Language Project
This section details the steps required to create a language project. Whenever the name of the language appears, we use MyLanguage.
Creating the Directory Structure
- Create an ATL project:
- Open: File->New->ATL Project
- Name the project like your language (e.g., MyLanguage)
- Create the following folders and files in your project:
- MyLanguage/ (this is the project we just created)
- Metamodel/
- MyLanguage.km3 (you can copy and paste SampleLanguage.km3 and rename it)
- Samples/
- <sample programs written in your language, with the corresponding file extension>
- Syntax/
- MyLanguage.tcs (you can copy and paste SampleLanguage.tcs and rename it)
- Metamodel/
- build.properties (you can copy and paste /SampleLanguage/build.properties and modify it)
- MyLanguage/ (this is the project we just created)
Adding the Language Builder
Building a language involves:
- Compiling its KM3 metamodel to Ecore.
- Compiling its TCS model into a parser.
- Optionally compiling its ACG compiler.
Here are the steps to follow to add the Language Builder to the project:
- Creating the builder:
- Right-click on your language project (e.g., MyLanguage) and select "Properties".
- Go to the "Builders" section.
- Click "New..."
- Select "Ant Build"
- Click "OK"
- Configuring the builder:
- Set the name of the builder to "MyLanguage Language Builder"
- In the "Main" tab:
- Set "Buildfile" to "${workspace_loc:/AMMAScripts/build.dsl.xml}"
- Set "Base Directory" to "${workspace_loc:/MyLanguage}"
- In the "Targets" tab:
- Set "During a Clean" to target "clean"
- In the "Classpath" tab:
- Add all the jars from the "/AMMAScripts/libs/" folder
- In the "JRE" tab:
- Check "Run in the same JRE as the workspace"
- Click "OK"
- In the "JRE" tab:
- Set the language builder before any other builder