mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 13:09:33 -06:00
228 lines
7.1 KiB
HTML
228 lines
7.1 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="lib/resource/doc/synopsis.html">Libraries</A>
|
|
<CODE>|</CODE> <A HREF="doc/gf-people.html">People</A>
|
|
<CODE>|</CODE> <A HREF="doc/gf-bibliography.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>
|
|
15 August 2008:
|
|
<A HREF="demos/index-numbers.html">Numeral translator for the iPhone</A>
|
|
</P>
|
|
<P>
|
|
27 June 2008:
|
|
<A HREF="doc/gf3-release.html">release of GF 3.0</A> and this new web page; the old web page is
|
|
<A HREF="../GF2/index.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><A HREF="lib/resource/doc/resdemo.html">text translators</A>
|
|
<LI><A HREF="http://www.cs.chalmers.se/~bringert/gf/translatespeech.html">speech translators</A>
|
|
<LI><A HREF="http://www.cs.chalmers.se/~hallgren/Alfa/Tutorial/GFplugin.html">natural-language interfaces</A>
|
|
<LI><A HREF="http://www.restauranggajden.se/tomas/">multilingual web pages</A>
|
|
<LI><A HREF="http://www.cs.chalmers.se/~markus/gramlets/letter-applet.html">multilingual authoring systems</A>
|
|
<LI><A HREF="http://www.cs.chalmers.se/~bringert/xv/pizza/">dialogue systems</A>
|
|
<LI><A HREF="http://csmisc14.cs.chalmers.se/~bjorn/langtrain.cgi">language training systems</A>
|
|
<LI><A HREF="lib/resource/doc/synopsis.html">natural language resources</A>
|
|
</UL>
|
|
|
|
<H2>Availability</H2>
|
|
<P>
|
|
GF is <B>open-source</B>, licensed under <A HREF="LICENSE">GPL</A> (the program) and
|
|
<A HREF="lib/LICENSE">LGPL</A> (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 first created in 1998 at
|
|
<A HREF="http://www.xrce.xerox.com/">Xerox Research Centre Europe</A>,
|
|
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.
|
|
</P>
|
|
<P>
|
|
Later projects using GF and involving third parties include, in chronological order,
|
|
</P>
|
|
<UL>
|
|
<LI><A HREF="http://www.cs.chalmers.se/~hallgren/Alfa/Tutorial/GFplugin.html">GF-Alfa</A>:
|
|
natural language interface to formal proofs
|
|
<LI><A HREF="http://efficient.citi.tudor.lu/index_noframe.html">Efficient</A>:
|
|
authoring tool for business models.
|
|
<LI><A HREF="http://www.key-project.org/">GF-KeY</A>:
|
|
authoring and translation of software specifications
|
|
<LI><A HREF="http://www.talk-project.org">TALK</A>:
|
|
multilingual and multimodal spoken dialogue systems
|
|
<LI><A HREF="http://webalt.math.helsinki.fi/">WebALT</A>:
|
|
multilingual generation of mathematical exercises (commercial project)
|
|
<LI><A HREF="http://spraakbanken.gu.se/sal/">SALDO</A>:
|
|
Swedish morphological dictionary based on rules developed for GF and
|
|
<A HREF="http://www.cs.chalmers.se/~markus/FM/">Functional Morphology</A>
|
|
</UL>
|
|
|
|
<P>
|
|
Academically, GF has been used in four PhD theses and resulted in around
|
|
fifty scientific publications (see <A HREF="doc/gf-bibliography.html">GF publication list</A>).
|
|
</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/resource/doc/synopsis.html">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 - contributions
|
|
are welcome!
|
|
</P>
|
|
|
|
<!-- html code generated by txt2tags 2.4 (http://txt2tags.sf.net) -->
|
|
<!-- cmdline: txt2tags -thtml index.txt -->
|
|
<script type="text/javascript">
|
|
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
|
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
|
</script>
|
|
<script type="text/javascript">
|
|
try {
|
|
var pageTracker = _gat._getTracker("UA-7811807-1");
|
|
pageTracker._trackPageview();
|
|
} catch(err) {}</script>
|
|
|
|
</BODY></HTML>
|