4.3. Trying out the GFEP prototype

johnj.camilleri

Multilingual Online Translation

Installation

  1. Eclipse is of course required. The plugin was developed using Eclipse 3.7 but older versions should also work.
  2. Inside Eclipse, go to Help > Install New Software.
  3. Add new software site using the URL: http://www.grammaticalframework.org/eclipse/beta/.
  4. Select the GF Eclipse Plugin, click Next, accept the license agreement and install. If it takes a long time to calculate dependencies, just be patient. I'm not yet sure if this is an abnormal issue or not.
  5. Accept the prompt warning that the software is unsigned.
  6. Restart Eclipse when prompted.
  7. (Optional) Add the GF perspective clicking Open Perspective > Other.
  8. (Optional) Go to Run > Run Configurations and add a new Grammatical Framework configuration. Fill in the necessary fields in the Main tab, and click Apply to save the new configuration.

Getting started

  1. Create a new blank General project in the usual way. If asked whether you want to add the Xtext nature to your project, you can safely say no.
  2. There is a wizard for adding a new GF source file from File > New > Other > GF Source File:

  3. You can find a small example at http://www.grammaticalframework.org/eclipse/examples/hello/. Download the files and manually add them to your Eclipse workspace.

  4. Note how changing a cat definition for example will produce warnings and/or errors in other the modules.

  5. Compile your source using the provided Run Configuration.

Known issues

  1. Local parameter/binding identifiers show up as unresolved, e.g. recip in:
       Hello recip = {s = "hello" ++ recip.s ! Masc} ;
    
  2. Qualified names currently aren't treated correctly, so Masc works but ResEng.Masc does not.
  3. If the Apply button in the Run Configurations dialog doesn't remains disabled, swap to the Common tab and back.
  4. Selective inheritance has not been properly tested.
  5. Interfaces/functors are currently not supported.
  6. The in-editor validation often needs to be triggered by some keystrokes, especially when Eclipse laods with some already-opened files.