# Grammatical Framework

## Version 2.1

November 8, 2004.

## News

November 9, 2004. PhD Thesis by Peter Ljunglöf: Expressivity and Complexity of the Grammatical Framework.

November 8, 2004. GF 2.1 released. Here are the highlights. Software available on the Download Page.

Main novelties in 2.1: multiple inheritance of grammar modules, speech recognition grammar generation, lots of bug fixes.

Version 2.0 still available on the GF 2.0 Download Page.

If you need something from the previous version of the web page, it is still available: GF 1.2.

## What is GF?

The Grammatical Framework (=GF) is a grammar formalism based on type theory. It consists of

- a special-purpose programming language
- a compiler of the language
- a generic grammar processor

The compiler reads GF grammars from user-provided files, and the generic grammar processor performs various tasks with the grammars:

- generation
- parsing
- translation
- type checking
- computation
- paraphrasing
- random and exhaustive generation
- syntax editing

GF particularly addresses two aspects of grammars:

- multilinguality (parallel grammars for different languages)
- semantics (semantic conditions of well-formedness, semantic properties of expressions)

GF Version 2.0 adds the aspect of

- modularity and grammar engineering.

GF is open-source software licensed under GNU General Public License (GPL).

## Examples and demos

Numeral translator: recognizes and generates numbers from 1 to 999,999 in 80 languages. (The link goes to a live applet, which requires Java 1.5 plugin. Here is an example, which does not require the plugin.)

Letter editor: write simple letters in English, Finnish, French, Swedish, and Russian with a few mouse clicks.

Resource grammar library: basic structures of seven languages (English, Finnish, French, German, Italian, Russian, Swedish). Resource grammars can be used as libraries for writing GF applications, but they can also be useful for language training.

## Executable programs

GF is available precompiled for several platforms: Linux, Mac OS X, Microsoft Windows, and Sun OS. For more information, see the Download Page.

## Source code

The main part of GF is written in Haskell.

The platform-independent graphical user interface is written in Java.

The Download Page gives links to source and binary packages, as well as information on compiler requirements.

## Documents

Some of the documents have not yet been updated for GF 2.0. See the Highlights of Version 2.0 for the main differences.

- User's tutorial on editing in the Java interface.
- Grammarian's tutorial on writing GF grammars, with exercises.
- GF in 25 Minutes for programmers.
- Grammatical Framework: A Type-Theoretical Grammar Formalism (ps.gz). Theoretical paper on GF by A. Ranta, appeared in The Journal of Functional Programming, vol. 14:2. 2004, pp. 145-189.
- User Manual explaining the GF user interfaces and command language.
- Language specification of the GF grammar formalism.
- Highlights of Version 2.1 and 2.0 (in comparison with version 1.2).
- Slides on GF theory and implementation given at INRIA Rocquencourt in December 2003.
- Slides on multilingual grammar engineering and some examples of using the modules system of GF 2.0.
- PhD Thesis by Peter Ljunglöf: Expressivity and Complexity of the Grammatical Framework. Language-theoretical study of GF and its parsing problem.
- Bibliography: publications on GF, as well as background literature.

## Projects and events

TALK = Tools for Ambient Linguistic Knowledge. GF is used in implementing multimodal and multilingual dialogue systems.

KeY project on Integrated Deductive Software Design. GF is used for authoring informal and formal specifications. More details on the GF application here.

An introductory course on GF was given at the ESSLLI summer school in Vienna 2003.

## Miscellaneous

- Gramlets: GF grammars compiled to Java applets.
- GFCC: report on a compiler from a fragment of C to JVM, written in GF. The compiler source code can be found in the directory `lib/imperative` in the GF grammar library.
- Previous version of the GF Home Page last updated for GF, Version 1.2, 2003.
- The GF Xerox Home Page with the oldest releases of and documents on GF, Version 0.54, 1999.
- Earlier application: Natural-Language Interface to the proof editor Alfa.
- The BNF Converter. A GF spin-off customized for the description of programming languages.
- The Functional Morphology project. Creating infrastructure for GF and other linguistic applications.

## Authors

The Languge Technology Group. More details on the Authors and Acknowledgements page.

## Implementation project

Want to become a GF developer? Contact Aarne Ranta. Or just get the sources and start hacking.

Last modified by Aarne Ranta, November 8, 2004.