1
0
forked from GitHub/gf-core
Files
gf-core/index.html

204 lines
5.8 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
</HEAD><BODY BGCOLOR="white" TEXT="black">
<FONT SIZE="4">
</FONT></CENTER>
<P>
<center>
</P>
<P>
<IMG ALIGN="middle" SRC="doc/gf-logo.png" BORDER="0" ALT="">
</P>
<H1>Grammatical Framework</H1>
<P>
Version 3.0
</P>
<P>
June 2008
</P>
<P>
<font size=+2>
</P>
<P>
<CODE>[</CODE> <A HREF="demos/index.html">Demos</A>
<CODE>|</CODE> <A HREF="download/index.html">Download</A>
<CODE>|</CODE> <A HREF="lib/resource/doc/synopsis.html">Libraries</A>
<CODE>|</CODE> <A HREF="doc/gf-refman.html">Reference</A>
<CODE>|</CODE> <A HREF="doc/gf-tutorial.html">Tutorial</A>
<CODE>]</CODE>
</P>
<P>
</font>
</P>
<P>
<CODE>[</CODE> <A HREF="demos/index.html">Demos</A>
<CODE>|</CODE> <A HREF="download/index.html">Download</A>
<CODE>|</CODE> <A HREF="doc/darcs.html">Developers</A>
<CODE>|</CODE> <A HREF="doc/events.html">Events</A>
<CODE>|</CODE> <A HREF="lib/resource/doc/synopsis.html">Libraries</A>
<CODE>|</CODE> <A HREF="doc/gf-people.html">People</A>
<CODE>|</CODE> <A HREF="doc/projects.html">Projects</A>
<CODE>|</CODE> <A HREF="doc/gf-tutorial.html">Publications</A>
<CODE>|</CODE> <A HREF="doc/gf-reference.html">QuickRefCard</A>
<CODE>|</CODE> <A HREF="doc/gf-refman.html">Reference</A>
<CODE>|</CODE> <A HREF="doc/gf-tutorial.html">Tutorial</A>
<CODE>]</CODE>
</P>
<P>
</center>
</P>
<P>
<font size=-1>
</P>
<H2>News</H2>
<P>
27 June 2008:
<A HREF="doc/gf3-relesase.html">release of GF 3.0</A> and this new web page; the old web page is
<A HREF="index-2.html">here</A>.
</P>
<P>
</font>
</P>
<H2>What is GF</H2>
<P>
GF, Grammatical Framework, is a programming language for
<B>multilingual grammar applications</B>. It is
</P>
<UL>
<LI>a <B>special-purpose language for grammars</B>, like YACC, Bison, Happy, BNFC,
but not restricted to programming languages
<LI>a <B>functional language</B>, like Haskell, Lisp, OCaml, Scheme, SML,
but specialized to grammar writing
<LI>a <B>natural language processing framework</B>, like LKB, XLE, Regulus,
but based on functional programming and type theory
<LI>a <B>categorial grammar formalism</B>, like ACG, CCG,
but different and equipped with different tools
<LI>a <B>logical framework</B>, like Agda, Coq, Isabelle,
but equipped with concrete syntax in addition to logic
</UL>
<P>
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.
</P>
<H2>Applications</H2>
<P>
GF can be used for building
</P>
<UL>
<LI>[text translators ]
<LI>[speech translators ]
<LI>[natural-language interfaces ]
<LI>[multilingual web pages ]
<LI>[multilingual authoring systems ]
<LI>[dialogue systems ]
<LI>[language training systems ]
<LI>[natural language resources ]
</UL>
<H2>Availability</H2>
<P>
GF is <B>open-source</B>, licensed under [GPL ] (the program) and [LGPL ] (the libraries). It
is available for
</P>
<UL>
<LI>[Linux ]
<LI>[Mac OS X ]
<LI>[Windows ]
<LI>via compilation to [JavaScript ], almost any platform that has a web browser
</UL>
<H2>Projects</H2>
<P>
GF was born 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 in 6 languages,
a database query system in 7 languages,
a formalization of an alarm system instructions with translations to 5 languages, and
an authoring system for medical drug descriptions in 2 languages.
</P>
<P>
Later projects using GF and involving third parties include, in chronological order,
</P>
<UL>
<LI>GF-Alfa: natural language interface to formal proofs
<LI>GF-KeY: authoring and translation of software specifications
<LI>TALK: multilingual and multimodal spoken dialogue systems
<LI>WebALT: multilingual generation of mathematical exercises (commercial project)
<LI>MultiWiki: multilingual Wiki for restaurant reviews
<LI>SALDO: Swedish morphological dictionary based on tools developed for GF
</UL>
<P>
Academically, GF has been used in four [PhD theses ], and resulted in around
fifty [scientific publications ].
</P>
<H2>Programming in GF</H2>
<P>
GF is easy to learn by following the <A HREF="doc/gf-tutorial.html">tutorial</A>. You can write your
first translator in 15 minutes.
</P>
<P>
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:
</P>
<UL>
<LI>Haskell
<LI>Java
<LI>JavaScript
<LI>Prolog
<LI>Speech recognition: HTK/ATK, Nuance, JSGF
</UL>
<P>
The GF programming language is high-level and advanced, featuring
</P>
<UL>
<LI>static type checking
<LI>higher-order functions
<LI>dependent types
<LI>pattern matching with data constructors and regular expressions
<LI>module system with multiple inheritance and parametrized modules
</UL>
<H2>Libraries</H2>
<P>
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 <A HREF="lib/">GF resource grammar library</A> has
support for an increasing number of languages, currently including
</P>
<OL>
<LI>Arabic (partial)
<LI>Bulgarian
<LI>Catalan (partial)
<LI>Danish
<LI>English
<LI>Finnish
<LI>French
<LI>German
<LI>Hindi/Urdu (fragments)
<LI><A HREF="http://www.interlingua.com/">Interlingua</A>
<LI>Italian
<LI>Norwegian bokmål
<LI>Russian
<LI>Spanish
<LI>Swedish
<LI>Thai (fragments)
</OL>
<P>
Adding a language to the resource library takes 3 to 9
months - <A HREF="doc/projects.html">contributions</A>
are welcome!
</P>
<!-- html code generated by txt2tags 2.4 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml index.txt -->
</BODY></HTML>