From f301993bffa9ec628aaa4030c1609d39001491c9 Mon Sep 17 00:00:00 2001
From: aarne
@@ -79,6 +79,7 @@ for Zaurus. To learn more about Zaurus, read this
review.
+
@@ -130,8 +136,7 @@ French, Swedish, and Russian with a few mouse clicks.
-Resource grammar
-library:
+Resource grammar library:
basic structures of seven languages
(English, Finnish, French, German, Italian, Russian, Swedish).
Resource grammars can be used as libraries for writing GF
@@ -143,7 +148,7 @@ but they can also be useful for language training.
GF is available precompiled for
several platforms: Linux, Mac OS X, Microsoft Windows, and Sun OS.
-For more information, see the Download Page.
+For more information, see the Download Page.
What is GF?
The Grammatical Framework (=GF) is a grammar formalism based on type
@@ -113,14 +114,19 @@ GF Version 2.0 adds the aspect of
Examples and demos
-Numeral translator: recognizes and generates
+Numeral
+translator: recognizes and generates
numbers from 1 to 999,999 in 80 languages.
+(The link goes to a live applet, which requires
+Java 1.5 plugin.
+Here is an example, which does
+not require the plugin.)
Source code
@@ -160,9 +165,9 @@ The platform-independent graphical user interface is written in
Here is a -GF source package, which includes a Makefile +GF source package, which includes a Makefile for different platforms and Haskell compilers. -The Download Page gives more information on +The Download Page gives more information on compiler requirements.
@@ -175,39 +180,39 @@ Here are some older source packages still available:
@@ -237,14 +245,9 @@ in Vienna 2003.
+
++ +Version 0.6: source package. + +
+ +Current languages: English, Finnish, French, German, Italian, Russian, Swedish. + +
+ + +Notice. You need GF Version 2.0beta or later +to work with these resource grammars. +It is available from the +GF home page. + + + +
+ + +
+ +A resource grammar is not based on semantics, but its +purpose is to define the linguistic "surface" structures +of some language. The availability of these structures makes it easier to +write application grammars. + +
+ +With resource grammars, we aim to achieve division of labour in +grammar writing: +
+ lin Even x = {s =
+ table {
+ m => x.s ++
+ table {Ind => "est" ; Subj => "soit"} ! m ++
+ table {Masc => "pair" ; Fem => "paire"} ! x.g
+ }
+ } ;
+
+but simply
++ lin Even = predA1 (adjReg "pair") ; ++The author of the French resource grammar will have defined the +functions predAdj and adjReg in such a way that +they can be used in all applications. + +
+ +What is more, the resource grammar has a language-independent +API, which makes it possible to write the corresponding rule +for other languages in a very similar way. For instance, the +German rule is +
+ lin Even = predA1 (adjReg "gerade") ; ++ + + +
+ make test + jgf TestAll.gfcm ++This opens the syntax editor with all the seven resource grammars +extended with a small lexicon. + + + + +
+ +Since the resource grammars are work in progress, their coverage is not +yet sufficient for complete data abstraction. In addition, there may of course +be bugs in the resource grammars that destroy grammaticality. The GF group is +grateful for bug reports, requests, and contributions! + +
+ +The most important exception to total data abstraction in practice is the +incompleteness of resource lexica. Since it is impossible to have +full coverage of all the words in a language, users often have to introduce +their own lexical entries, and thereby use literal strings in their GF code. +The safest and most convenient way of using this is via functions +defined in ParadigmsX.gf files. Using these functions guarantees +that the lexical entries created are type-correct. But nothing guards +against misspelling a word, picking a wrong inflectional pattern, or +a wrong inherent feature (such as gender). + + + +
+ +The file Combinations.gf +gives the core resource type signatures of phrasal categories and +syntactic combination rules, together with some explanations +and examples. The examples are so far only in English, but their +equivalents are available in all of the languages for which the +API has been implemented. + +
+ +The file Structurals.gf +gives a list of structural words such as determiners, pronouns, +prepositions, and conjunctions. + +
+ +The file Structural.gf cannot be imported directly, but +via the generated files ResourceX.gf for each language X. +In these files, the fun/lin and cat/lincat judgements have been +translated into oper judgements. + + + +
+ +For example, the English paradigm module has the worst-case macro for nouns, +
+ mkN : (man,men,man's,men's : Str) -> Gender -> N ; ++taking four forms and a gender (human or nonhuman, +as is also explained in the module). Its application +
+ mkN "mouse" "mice" "mouse's" "mice's" nonhuman ++defines all information that is needed for the noun mouse. +There are also some regular patterns, for instance, +
+ nReg : Str -> Gender -> N ; -- dog, dogs + nKiss : Str -> Gender -> N ; -- kiss, kisses ++examples of which are +
+ nReg "car" nonhuman + nKiss "waitress" human ++ +
+ +Here are the documented versions of the paradigm modules: +
+ +The API of the predication library is in the file +Predication.gf. +What is imported is one of the language-dependent files, +X/PredicationX.gf for each language X. + + + + +
+ +The records of GF are much like feature structures in PATR or HPSG. +The main differences are that +
+ {s = table {Sg => "cheval" ; Pl => "chevaux"} ; g = Masc} ;
+
+showing the full inflection table of the (abstract) noun cheval.
+A PATR record
+for the French word cheval would be
+
+ {s = "cheval" ; n = Sg ; g = Masc} ;
+
+showing just the information that can be gathered from the (concrete)
+string cheval.
+There is a rather straightforward sense in which the PATR record is an
+instance of the GF record.
+
++ +When generating language from syntax trees (or from logical formulas via +syntax trees), the record containing full inflection tables is an efficient +(linear-time) method of producing the correct forms. +This is important when text is generated in real time in +an interactive system. + + + +
+ +We have divided the core resource grammar for each language X +into the following parts: +
+ +However, the languages we have studied have so much in common +that we have gathered a considerable set of categories and rules +in a multilingual resource grammar. Its parts are +
+ make ++in the resource/ directory. +This requires that you have a recent version of GF (>= 2.0). +What you get is a set of files with names ResourceX.gfr, +ResourceX.gfc, ParadigmsX.gfr, and ParadigmsX.gfc. +You need never consult any of these files, +but only look into the documentation. + + + +