forked from GitHub/gf-core
The new logo is in the new directory doc/Logos. The old logo has been moved there too. The documentation has been updated to refer to the new logo. The new logo was provided in SVG format by Krasimir, but PNG files are included as well. There are some new rules in doc/Makefile to convert from SVG to PNG, which you can use if you edit the SVG files.
192 lines
5.7 KiB
Plaintext
192 lines
5.7 KiB
Plaintext
|
|
|
|
|
|
%!postproc(html): "#BECE" "<center>"
|
|
%!postproc(html): "#ENCE" "</center>"
|
|
%!postproc(html): "#BESMALL" "<font size=-1>"
|
|
%!postproc(html): "#ENSMALL" "</font>"
|
|
%!postproc(html): "#BELARGE" "<font size=+2>"
|
|
%!postproc(html): "#ENLARGE" "</font>"
|
|
|
|
#BECE
|
|
|
|
[doc/Logos/gf0.png]
|
|
|
|
=Grammatical Framework=
|
|
|
|
Version 3.1
|
|
|
|
December 2009
|
|
|
|
|
|
#BELARGE
|
|
|
|
``[`` [Demos demos/index.html]
|
|
``|`` [Download download/index.html]
|
|
``|`` [Libraries lib/doc/synopsis.html]
|
|
``|`` [Reference doc/gf-refman.html]
|
|
``|`` [Tutorial doc/gf-tutorial.html]
|
|
``]``
|
|
|
|
#ENLARGE
|
|
|
|
``[`` [Demos demos/index.html]
|
|
``|`` [Download download/index.html]
|
|
``|`` [Developers doc/gf-developers.html]
|
|
``|`` [Libraries lib/doc/synopsis.html]
|
|
``|`` [People doc/gf-people.html]
|
|
``|`` [Publications doc/gf-bibliography.html]
|
|
``|`` [QuickRefCard doc/gf-reference.html]
|
|
``|`` [Reference doc/gf-refman.html]
|
|
``|`` [Tutorial doc/gf-tutorial.html]
|
|
``|`` [LibTutorial doc/resource-tutorial.pdf]
|
|
``]``
|
|
|
|
#ENCE
|
|
|
|
|
|
#BESMALL
|
|
|
|
==News==
|
|
|
|
GF users mailing list and wiki - link forthcoming here!
|
|
|
|
|
|
#ENSMALL
|
|
|
|
|
|
==What is GF==
|
|
|
|
GF, Grammatical Framework, is a programming language for
|
|
**multilingual grammar applications**. It is
|
|
- a **special-purpose language for grammars**, like YACC, Bison, Happy, BNFC,
|
|
but not restricted to programming languages
|
|
- a **functional language**, like Haskell, Lisp, OCaml, Scheme, SML,
|
|
but specialized to grammar writing
|
|
- a **natural language processing framework**, like LKB, XLE, Regulus,
|
|
but based on functional programming and type theory
|
|
- a **categorial grammar formalism**, like ACG, CCG,
|
|
but different and equipped with different tools
|
|
- a **logical framework**, like Agda, Coq, Isabelle,
|
|
but equipped with concrete syntax in addition to logic
|
|
|
|
|
|
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
|
|
- [text translators http://tournesol.cs.chalmers.se:41296]
|
|
- [multilingual web gadgets http://tournesol.cs.chalmers.se:41296/fridge]
|
|
- [speech translators http://www.cs.chalmers.se/~bringert/gf/translatespeech.html]
|
|
- [natural-language interfaces http://www.cs.chalmers.se/~hallgren/Alfa/Tutorial/GFplugin.html]
|
|
% - [multilingual web pages http://www.restauranggajden.se/tomas/]
|
|
- [multilingual authoring systems http://www.cs.chalmers.se/~markus/gramlets/letter-applet.html]
|
|
- [dialogue systems http://www.cs.chalmers.se/~bringert/xv/pizza/]
|
|
% - [language training systems http://csmisc14.cs.chalmers.se/~bjorn/langtrain.cgi]
|
|
- [natural language resources lib/resource/doc/synopsis.html]
|
|
|
|
|
|
==Availability==
|
|
|
|
GF is **open-source**, licensed under [GPL LICENSE] (the program) and
|
|
[LGPL lib/LICENSE] (the libraries). It
|
|
is available for
|
|
- Linux
|
|
- Mac OS X
|
|
- Windows
|
|
- via compilation to JavaScript, almost any platform that has a web browser
|
|
|
|
|
|
==Projects==
|
|
|
|
GF was first created in 1998 at
|
|
[Xerox Research Centre Europe http://www.xrce.xerox.com/],
|
|
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,
|
|
- [GF-Alfa http://www.cs.chalmers.se/~hallgren/Alfa/Tutorial/GFplugin.html]:
|
|
natural language interface to formal proofs
|
|
- [Efficient http://efficient.citi.tudor.lu/index_noframe.html]:
|
|
authoring tool for business models.
|
|
- [GF-KeY http://www.key-project.org/]:
|
|
authoring and translation of software specifications
|
|
- [TALK http://www.talk-project.org]:
|
|
multilingual and multimodal spoken dialogue systems
|
|
- [WebALT http://webalt.math.helsinki.fi/]:
|
|
multilingual generation of mathematical exercises (commercial project)
|
|
- [SALDO http://spraakbanken.gu.se/sal/]:
|
|
Swedish morphological dictionary based on rules developed for GF and
|
|
[Functional Morphology http://www.cs.chalmers.se/~markus/FM/]
|
|
|
|
|
|
Academically, GF has been used in four PhD theses and resulted in around
|
|
fifty scientific publications (see [GF publication list doc/gf-bibliography.html]).
|
|
|
|
|
|
==Programming in GF==
|
|
|
|
GF is easy to learn by following the [tutorial doc/gf-tutorial.html].
|
|
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:
|
|
- Haskell
|
|
- JavaScript
|
|
- Speech recognition: HTK/ATK, Nuance, JSGF
|
|
|
|
|
|
The GF programming language is high-level and advanced, featuring
|
|
- static type checking
|
|
- higher-order functions
|
|
- dependent types
|
|
- pattern matching with data constructors and regular expressions
|
|
- module system with multiple inheritance and parametrized modules
|
|
|
|
|
|
==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 lib/doc/synopsis.html] has
|
|
support for an increasing number of languages, currently including
|
|
+ Arabic (partial)
|
|
+ Bulgarian
|
|
+ Catalan
|
|
+ Danish
|
|
+ Dutch
|
|
+ English
|
|
+ Finnish
|
|
+ French
|
|
+ German
|
|
+ Hindi/Urdu (fragments)
|
|
+ [Interlingua http://www.interlingua.com/]
|
|
+ Italian
|
|
+ Latin (fragments)
|
|
+ Norwegian bokmål
|
|
+ Polish
|
|
+ Romanian
|
|
+ Russian
|
|
+ Spanish
|
|
+ Swedish
|
|
+ Thai (fragments)
|
|
|
|
|
|
Adding a language to the resource library takes 3 to 9
|
|
months - contributions
|
|
are welcome! You can start with the [resource grammarian's tutorial doc/resource-tutorial.pdf].
|
|
|
|
% [doc/10lang-small.png]
|
|
|
|
|