Grammatical Framework

Version 3.3.3
March 2012

News

2012-03-03: GF 3.3.3 released! Release notes.
2012-02-24: New resource grammar languages: Hindi, Sindhi. See library synopsis.
2011-12-29: New resource grammar languages: Latvian, Thai. See library synopsis.
2011-10-27: GF 3.3 released! Release notes.
2011-09-20: There is now a page collecting editor modes for GF. Contributions are welcome!
2011-09-12: GF 3.2.9 source snapshot with faster grammar compilation available. See Downloads.
2011-04-22: JPGF Android Tutorial added.
2011-04-15: The GF Book is available.
2011-01-13: Phrasedroid available on the Android Market.
2011-01-04: GF is part of the CLT Toolkit.
2010-12-23: GF 3.2 released! Release notes.
2010-12-22: GF Summer School in Barcelona, 15-26 August 2011.

What is GF

GF, Grammatical Framework, is a programming language for multilingual grammar applications. It is

Don't worry if you don't know most of the references above - but if you do know at least one, it may help you to get a first idea of what GF is.

Applications

GF can be used for building

Availability

GF is open-source, licensed under GPL (the program) and LGPL and BSD (the libraries). It is available for

Projects

GF was first created in 1998 at Xerox Research Centre Europe, Grenoble, in the project Multilingual Document Authoring. At Xerox, it was used for prototypes including a restaurant phrase book, a database query system, a formalization of an alarm system instructions with translations to 5 languages, and an authoring system for medical drug descriptions.

Later projects using GF and involving third parties include, in chronological order,

Academically, GF has been used in four PhD theses and resulted in around fifty scientific publications (see GF publication list).

Programming in GF

GF is easy to learn by following the tutorial. You can write your first translator in 15 minutes.

GF has an interactive command interpreter, as well as a batch compiler. Grammars can be compiled to parser and translator code in many different formats. These components can then be embedded in applications written in other programming languages. The formats currently supported are:

The GF programming language is high-level and advanced, featuring

Libraries

Libraries are at the heart of modern software engineering. In natural language applications, libraries are a way to cope with thousands of details involved in syntax, lexicon, and inflection. The GF resource grammar library has support for an increasing number of languages, currently including

  1. Amharic (partial)
  2. Arabic (partial)
  3. Bulgarian
  4. Catalan
  5. Danish
  6. Dutch
  7. English
  8. Finnish
  9. French
  10. German
  11. Hindi (fragments)
  12. Interlingua
  13. Italian
  14. Latin (fragments)
  15. Latvian
  16. Nepali
  17. Norwegian bokmål
  18. Persian
  19. Polish
  20. Punjabi
  21. Romanian
  22. Russian
  23. Spanish
  24. Swedish
  25. Thai
  26. Turkish (fragments)
  27. Urdu

Adding a language to the resource library takes 3 to 9 months - contributions are welcome! You can start with the resource grammarian's tutorial.