mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
212 lines
6.3 KiB
Plaintext
212 lines
6.3 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/gf-logo.png]
|
||
|
||
=Grammatical Framework=
|
||
|
||
Version 3.0
|
||
|
||
June 2008
|
||
|
||
|
||
#BELARGE
|
||
|
||
``[`` [Demos demos/index.html]
|
||
``|`` [Download download/index.html]
|
||
``|`` [Libraries lib/resource/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]
|
||
% ``|`` [Events doc/events.html]
|
||
``|`` [Libraries lib/resource/doc/synopsis.html]
|
||
``|`` [People doc/gf-people.html]
|
||
% ``|`` [Projects doc/projects.html]
|
||
``|`` [Publications doc/gf-bibliography.html]
|
||
``|`` [QuickRefCard doc/gf-reference.html]
|
||
``|`` [Reference doc/gf-refman.html]
|
||
``|`` [Tutorial doc/gf-tutorial.html]
|
||
``]``
|
||
|
||
#ENCE
|
||
|
||
|
||
#BESMALL
|
||
|
||
==News==
|
||
|
||
20 April 2009:
|
||
On-line course "GF for Resource Grammar Writers" starting today at 15.30. See the
|
||
[Summer School Google Group http://groups.google.com/group/gf-resource-school-2009]
|
||
for instructions how to start.
|
||
|
||
3 April 2009:
|
||
Two demos and one talk on GF at [EACL http://www.eacl2009.gr/conference/] in Athens.
|
||
|
||
20 February 2009:
|
||
[GF Resource Grammar Summer School doc/gf-summerschool.html]
|
||
in Gothenburg, 17-28 August 2009.
|
||
|
||
4 November 2008:
|
||
GHC 6.10 released, but it doesn't work with GF sources yet.
|
||
If compiling GF from source, use e.g.
|
||
[GHC 6.8.3 http://haskell.org/ghc/download_ghc_683.html].
|
||
|
||
15 August 2008:
|
||
[Numeral translator for the iPhone demos/index-numbers.html]
|
||
|
||
27 June 2008:
|
||
[release of GF 3.0 doc/gf3-release.html] and this new web page; the old web page is
|
||
[here ../GF2/index.html].
|
||
|
||
|
||
#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 lib/resource/doc/resdemo.html]
|
||
- [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
|
||
- Java
|
||
- JavaScript
|
||
- Prolog
|
||
- 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/resource/doc/synopsis.html] has
|
||
support for an increasing number of languages, currently including
|
||
+ Arabic (partial)
|
||
+ Bulgarian
|
||
+ Catalan (partial)
|
||
+ Danish
|
||
+ English
|
||
+ Finnish
|
||
+ French
|
||
+ German
|
||
+ Hindi/Urdu (fragments)
|
||
+ [Interlingua http://www.interlingua.com/]
|
||
+ Italian
|
||
+ Norwegian bokm<6B>l
|
||
+ Russian
|
||
+ Spanish
|
||
+ Swedish
|
||
+ Thai (fragments)
|
||
|
||
|
||
Adding a language to the resource library takes 3 to 9
|
||
months - contributions
|
||
are welcome!
|
||
|
||
% [doc/10lang-small.png]
|
||
|
||
|