mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
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 http://code.google.com/p/grammatical-framework/wiki/SideBar?tm=6]
|
|
``|`` [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]
|
|
|
|
|