fixing examples and their doc

This commit is contained in:
aarne
2006-12-22 14:08:01 +00:00
parent 3a84f614a9
commit a1cccd7076
14 changed files with 91 additions and 58 deletions

View File

@@ -14,7 +14,12 @@ Changes in functionality since May 17, 2005, release of GF Version 2.2
<p>
21/12 (AR) Overloading rules for GF version 2.7:
<hr>
22/12 (AR) <b>Release of GF version 2.7</b>.
21/12 (AR)
Overloading rules for GF version 2.7:
<ol>
<li> If a unique instance is found by exact match with argument types,
that instance is used.
@@ -24,7 +29,7 @@ Changes in functionality since May 17, 2005, release of GF Version 2.2
type, that instance is used, but a warning is issued.
<li> Otherwise, an error results, and the list of possible instances is shown.
</ol>
These rules are still temporary, but all future developments will guarantee
These rules are still experimental, but all future developments will guarantee
that their type-correct use will work. Rule (3) is only needed because the
current type checker does not always know an expected type. It can give
an incorrect result which is captured later in the compilation. To be noticed,
@@ -40,18 +45,21 @@ and the IBM XHTML+Voice implementation use by the Opera web browser.
<p>
21/12 (BB) VoiceXML 2.0 dialog systems can now be generated from GF grammars.
21/12 (BB) <a name="voicexml">
VoiceXML 2.0 dialog systems can now be generated from GF grammars.
Use <tt>pg -printer=vxml</tt>.
<p>
21/12 (BB) JavaScript code for linearization and type annotation can now be
21/12 (BB) <a name="javascript">
JavaScript code for linearization and type annotation can now be
generated from a multilingual GF grammar. Use <tt>pm -printer=js</tt>.
<p>
5/12 (BB) A new tool for generating C linearization libraries
5/12 (BB) <a name="gfcc2c">
A new tool for generating C linearization libraries
from a GFCC file. <tt>make gfcc2c</tt> in <tt>src</tt>
compiles the tool. The generated
code includes header files in <tt>lib/c</tt> and should be linked
@@ -73,11 +81,12 @@ of lock-fielded categories are used.
<p>
17/11 (AR) Operation overloading: an <tt>oper</tt> can have many types,
17/11 (AR) <a name="overloading">
Operation overloading: an <tt>oper</tt> can have many types,
from which one is picked at compile time. The types must have different
argument lists. Exact match with the arguments given to the <tt>oper</tt>
is required. An example is given in
<a href="../lib/resource-1.0/common/Overload.gf"><tt>Overload.gf</tt></a>.
<a href="../lib/resource-1.0/doc/gfdoc/Constructors.gf"><tt>Constructors.gf</tt></a>.
The purpose of overloading is to make libraries easier to use, since
only one name for each grammatical operation is needed: predication, modification,
coordination, etc. The concrete syntax is, at this experimental level, not

View File

@@ -1,6 +1,8 @@
--# -path=.:alltenses:prelude
concrete BigEnglish of BigEnglishAbs =
English,
GrammarEng,
--- IrregEng,
ExtraEng,
BigLexEng
** {} ;

View File

@@ -1,6 +1,8 @@
--# -path=.:alltenses:prelude
abstract BigEnglishAbs =
EnglishAbs,
Grammar,
--- IrregEngAbs,
ExtraEngAbs,
BigLexEngAbs
** {} ;

View File

@@ -175,7 +175,7 @@ lin aloud_Adv = proAdv "aloud" ;
lin alphabet_N = regN "alphabet" ;
lin alphabetic_A = longA "alphabetic" ;
lin alphanumeric_A = longA "alphanumeric" ;
lin already_Adv = mkAdv "already" ;
--lin already_Adv = mkAdv "already" ;
lin also_Adv = mkAdv "also" ;
lin altar_N = regN "altar" ;
lin alter_V = (regV "alter") ;
@@ -208,7 +208,7 @@ lin analogous_A2to = longA2 "analogous" "to" ;
lin analogue_N = regN "analogue" ;
lin analogy_N2with = prepN2 "analogy" "with" ;
lin analyse_V2 = prepV2 (regV "analyse") "" ;
lin analysis_N = irregN "analysis" "analysis" ;
lin analysis_N = irregN "analysis" "analyses" ;
lin analytic_A = longA "analytic" ;
lin anaphor_N = regN "anaphor" ;
lin anaphora_N = regN "anaphora" ;
@@ -271,7 +271,7 @@ lin appear_V2 = prepV2 (regV "appear") "" ;
lin appear_V = (regV "appear") ;
lin appear_V2 = prepV2 (regV "appear") "" ;
lin append_V3to = dirprepV3 (regV "append") "to" ;
lin appendix_N = irregN "appendix" "appendix" ;
lin appendix_N = irregN "appendix" "appendices" ;
lin apple_N = regN "apple" ;
lin applicable_A = longA "applicable" ;
lin applicable_A2to = longA2 "applicable" "to" ;
@@ -423,7 +423,7 @@ lin authorize_V2 = prepV2 (regV "authorize") "" ;
lin automate_V2 = prepV2 (regV "automate") "" ;
lin automatic_A = longA "automatic" ;
lin automatically_Adv = mkAdv "automatically" ;
lin automaton_N = irregN "automaton" "automaton" ;
lin automaton_N = irregN "automaton" "automata" ;
lin autonomous_A = longA "autonomous" ;
lin autonomy_N = regN "autonomy" ;
lin autumn_N = regN "autumn" ;
@@ -447,7 +447,7 @@ lin axe_N = regN "axe" ;
lin axiom_N = regN "axiom" ;
lin axiomatic_A = longA "axiomatic" ;
lin axiomatize_V2 = prepV2 (regV "axiomatize") "" ;
lin axis_N = irregN "axis" "axis" ;
lin axis_N = irregN "axis" "axes" ;
lin baby_N = regN "baby" ;
lin back_N = regN "back" ;
lin background_N = regN "background" ;
@@ -456,7 +456,7 @@ lin backtrack_V = (regV "backtrack") ;
lin backward_A = longA "backward" ;
lin backwards_Adv = proAdv "backwards" ;
lin bacterial_A = longA "bacterial" ;
lin bacterium_N = irregN "bacterium" "bacterium" ;
lin bacterium_N = irregN "bacterium" "bacteria" ;
lin bad_A = longA "bad" ;
lin bag_N = regN "bag" ;
lin bake_V2 = prepV2 (regV "bake") "" ;
@@ -485,8 +485,8 @@ lin basic_A = longA "basic" ;
lin basically_Adv = mkAdv "basically" ;
lin basin_N = regN "basin" ;
lin basis_N = irregN "basis" "basis" ;
lin basis_N2for = irregN2 "basis" "basis" "for" ;
lin basis_N2of = irregN2 "basis" "basis" "of" ;
lin basis_N2for = irregN2 "basis" "bases" "for" ;
lin basis_N2of = irregN2 "basis" "bases" "of" ;
lin basket_N = regN "basket" ;
lin bat_N = regN "bat" ;
lin batch_N = regN "batch" ;
@@ -2192,9 +2192,9 @@ lin food_N = massN "food" ;
lin fool_N = regN "fool" ;
lin fool_V2 = prepV2 (regV "fool") "" ;
lin foolish_A = longA "foolish" ;
lin foot_N = irregN "foot" "foot" ;
lin foot_N = irregN "foot" "feet" ;
lin football_N = regN "football" ;
lin for_Prep = mkPrep "for" ;
-- lin for_Prep = mkPrep "for" ;
lin foray_N = regN "foray" ;
lin forbid_V2 = prepV2 forbid_V "" ;
lin force_N = regN "force" ;
@@ -2281,7 +2281,7 @@ lin fund_N = regN "fund" ;
lin fundamental_A = longA "fundamental" ;
lin funeral_N = regN "funeral" ;
lin funereal_A = longA "funereal" ;
lin fungus_N = irregN "fungus" "fungus" ;
lin fungus_N = irregN "fungus" "fungi" ;
lin funny_A = regA "funny" ;
lin fur_N = regN "fur" ;
lin furnish_V3with =dirprepV3 (regV "furnish") "with" ;
@@ -2330,7 +2330,7 @@ lin generous_A2to = longA2 "generous" "to" ;
lin genitive_A = longA "genitive" ;
lin genius_N = regN "genius" ;
lin gentle_A = regA "gentle" ;
lin gentleman_N = irregN "gentleman" "gentleman" ;
lin gentleman_N = irregN "gentleman" "gentlemen" ;
lin gently_Adv = mkAdv "gently" ;
lin genuine_A = longA "genuine" ;
lin genus_N = regN "genus" ;
@@ -2375,7 +2375,7 @@ lin goddess_N = regN "goddess" ;
lin gold_N = regN "gold" ;
lin golden_A = regA "golden" ;
lin good_A = longA "good" ;
lin goose_N = irregN "goose" "goose" ;
lin goose_N = irregN "goose" "geese" ;
lin gore_N = regN "gore" ;
lin gorilla_N = regN "gorilla" ;
lin gory_A = regA "gory" ;
@@ -2464,7 +2464,7 @@ lin hail_N = regN "hail" ;
lin hair_N = massN "hair" ;
lin half_Adv = mkAdv "half" ;
lin half_A = longA "half" ;
lin half_N = irregN "half" "half" ;
lin half_N = irregN "half" "halves" ;
lin hall_N = regN "hall" ;
lin halt_N = regN "halt" ;
lin halt_V2 = prepV2 (regV "halt") "" ;
@@ -2627,7 +2627,7 @@ lin hungry_A = regA "hungry" ;
lin hungry_A2for = regA2 "hungry" "for" ;
lin hunt_N = regN "hunt" ;
lin hunt_V2 = prepV2 (regV "hunt") "" ;
lin huntsman_N = irregN "huntsman" "huntsman" ;
lin huntsman_N = irregN "huntsman" "huntsmen" ;
lin hurry_V = (regV "hurry") ;
lin hurry_N = regN "hurry" ;
lin hurt_V2 = prepV2 hurt_V "" ;
@@ -2637,7 +2637,7 @@ lin hut_N = regN "hut" ;
lin hybrid_A = longA "hybrid" ;
lin hydrogen_N = regN "hydrogen" ;
lin hygiene_N = regN "hygiene" ;
lin hypothesis_N = irregN "hypothesis" "hypothesis" ;
lin hypothesis_N = irregN "hypothesis" "hypotheses" ;
lin hypothesize_V2 = prepV2 (regV "hypothesize") "" ;
lin hypothetical_A = longA "hypothetical" ;
lin ice_N = massN "ice" ;
@@ -2764,7 +2764,7 @@ lin indefinite_A = regA "indefinite" ;
lin independence_N = massN "independence" ;
lin independent_A = longA "independent" ;
lin indeterminacy_N = regN "indeterminacy" ;
lin index_N = irregN "index" "index" ;
lin index_N = irregN "index" "indices" ;
lin index_V2 = prepV2 (regV "index") "" ;
lin india_PN = regPN "india" ;
lin indian_A = regA "indian" ;
@@ -3029,7 +3029,7 @@ lin kiss_V = (regV "kiss") ;
lin kitchen_N = regN "kitchen" ;
lin knee_N = regN "knee" ;
lin kneel_V = useV IrregEng.kneel_V ;
lin knife_N = irregN "knife" "knife" ;
lin knife_N = irregN "knife" "knives" ;
lin knob_N = regN "knob" ;
lin knock_N = regN "knock" ;
lin knock_V2 = prepV2 (regV "knock") "" ;
@@ -3082,7 +3082,7 @@ lin laze_V = (regV "laze") ;
lin lazy_A = regA "lazy" ;
lin lead_N = regN "lead" ;
lin lead_V2 = prepV2 lead_V "" ;
lin leaf_N = irregN "leaf" "leaf" ;
lin leaf_N = irregN "leaf" "leaves" ;
lin league_N = regN "league" ;
lin lean_V2on = prepV2 (regV "lean") "on" ;
lin leap_V = (regV "leap") ;
@@ -3177,7 +3177,7 @@ lin live_A = regA "live" ;
lin live_V2 = prepV2 (regV "live") "" ;
lin load_N = regN "load" ;
lin load_V2 = prepV2 (regV "load") "" ;
lin loaf_N = irregN "loaf" "loaf" ;
lin loaf_N = irregN "loaf" "loaves" ;
lin loan_V3to =dirprepV3 (regV "loan") "to" ;
lin lobster_N = regN "lobster" ;
lin local_A = longA "local" ;
@@ -3249,7 +3249,7 @@ lin male_A = longA "male" ;
lin malign_V2 = prepV2 (regV "malign") "" ;
lin malignant_A = longA "malignant" ;
lin mammal_N = regN "mammal" ;
lin man_N = irregN "man" "man" ;
lin man_N = irregN "man" "men" ;
lin man_V2 = prepV2 (regV "man") "" ;
lin manage_V2 = prepV2 (regV "manage") "" ;
lin manage_VV = mkVV (regV "manage") ;
@@ -3296,7 +3296,7 @@ lin material_N = regN "material" ;
lin mathematical_A = longA "mathematical" ;
lin mathematician_N = regN "mathematician" ;
lin mathematics_N = massN "mathematics" ;
lin matrix_N = irregN "matrix" "matrix" ;
lin matrix_N = irregN "matrix" "matrices" ;
lin matter_N = regN "matter" ;
lin matter_V = (regV "matter") ;
lin mature_A = regA "mature" ;
@@ -3528,7 +3528,7 @@ lin nigeria_PN = regPN "nigeria" ;
lin night_N = regN "night" ;
lin nip_V2 = prepV2 (regV "nip") "" ;
lin noble_A = regA "noble" ;
lin nobleman_N = irregN "nobleman" "nobleman" ;
lin nobleman_N = irregN "nobleman" "noblemen" ;
lin nod_V2 = prepV2 (regV "nod") "" ;
lin nod_V = (regV "nod") ;
lin node_N = regN "node" ;

View File

@@ -175,7 +175,7 @@ fun aloud_Adv : Adv ;
fun alphabet_N : N ;
fun alphabetic_A : A ;
fun alphanumeric_A : A ;
fun already_Adv : Adv ;
--fun already_Adv : Adv ;
fun also_Adv : Adv ;
fun altar_N : N ;
fun alter_V : V ;
@@ -2194,7 +2194,7 @@ fun fool_V2 : V2 ;
fun foolish_A : A ;
fun foot_N : N ;
fun football_N : N ;
fun for_Prep : Prep ;
-- fun for_Prep : Prep ;
fun foray_N : N ;
fun forbid_V2 : V2 ;
fun force_N : N ;

View File

@@ -1,6 +1,7 @@
--# -path=.:alltenses:prelude
concrete BigSwedish of BigSwedishAbs =
Swedish,
GrammarSwe,
ExtraSwe,
BigLexSwe
** {} ;

View File

@@ -1,4 +1,5 @@
abstract BigSwedishAbs =
SwedishAbs,
Grammar,
ExtraSweAbs,
BigLexSweAbs
** {} ;

9
examples/big/README Normal file
View File

@@ -0,0 +1,9 @@
BigEngLex.gf adapted from a word list by Alan Black & al.
http://www.cs.cmu.edu/~awb/pub/map/MAP3.1.tar.gz
Not to be used for military purposes.
Translation to GF has introduced some errors, e.g. in
inflection, which have not yet been corrected.
AR 2006.

View File

@@ -7,24 +7,12 @@
<P ALIGN="center"><CENTER><H1>GF Grammar Examples</H1>
<FONT SIZE="4">
<I>Author: Aarne Ranta &lt;aarne (at) cs.chalmers.se&gt;</I><BR>
Last update: Fri Mar 10 11:05:35 2006
Last update: Fri Dec 22 15:07:56 2006
</FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">This directory</A>
<LI><A HREF="#toc2">More examples</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
Here are some examples of GF grammars.
</P>
<A NAME="toc1"></A>
<H2>This directory</H2>
<P>
<A HREF="animal/">animal</A>
@@ -34,6 +22,11 @@ example-based grammar writing using the
<A HREF="../lib/resource-1.0/doc">resource grammar library</A>.
</P>
<P>
<A HREF="big/">big</A>
grammars built from the resource by extending the
lexicon with several thousands of words. Still very buggy.
</P>
<P>
<A HREF="bronzeage/">bronzeage</A>
defines a set of grammars using the
<A HREF="http://en.wiktionary.org/wiki/Swadesh_List">Swadesh list</A>
@@ -71,7 +64,6 @@ is an illustration of the
in particular of multimodal grammars that combine
speech with mouse clicks.
</P>
<A NAME="toc2"></A>
<H2>More examples</H2>
<P>
<A HREF="../doc/gf-quickstart.html">GF Quick start</A>
@@ -83,6 +75,6 @@ speech with mouse clicks.
<A HREF="../lib/resource-1.0/doc">GF resource grammar library</A>.
</P>
<!-- html code generated by txt2tags 2.0 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -\-toc -thtml index.txt -->
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags index.txt -->
</BODY></HTML>

View File

@@ -19,6 +19,10 @@ is a small grammar for queries about animals
example-based grammar writing using the
[resource grammar library ../lib/resource-1.0/doc].
[big big/]
grammars built from the resource by extending the
lexicon with several thousands of words. Still very buggy.
[bronzeage bronzeage/]
defines a set of grammars using the
[Swadesh list http://en.wiktionary.org/wiki/Swadesh_List]

5
examples/shallow/README Normal file
View File

@@ -0,0 +1,5 @@
Shallow parsing version of resource grammar.
BigShallowEng uses BigEngLex.gf adapted from a word list
by Alan Black & al. http://www.cs.cmu.edu/~awb/pub/map/MAP3.1.tar.gz
Not to be used for military purposes.

View File

@@ -61,10 +61,18 @@ December 22, 2006.
<i>December 22, 2006</i>. GF 2.7 released. Some highlights:
<ul>
<li> JavaScript and VoiceXML generation.
<li> C generation.
<li> Overloading and new library APIs.
<li> New low-level format, called <tt>gfcc</tt>.
<li> <a href="doc/gf-history.html#javascript">JavaScript</a> and
<a href="doc/gf-history.html#voicexml">VoiceXML</a>
generation. These together support the generation of
a complete dialogue system from grammar.
<li> <a href="doc/gf-history.html#overloading">Overloading</a>
and new library APIs.
<li> New low-level format, called
<a href="src/GF/Canon/GFCC/doc/gfcc.html">GFCC</a>.
<li> <a href="doc/gf-history.html#gfcc2c">C code generation</a>:
for ultimate efficiency with the GFCC format.
<li> <a href="lib/resource-1.0/doc">Resource library version 1.1</a>:
extensions and bug fixes to 1.0.
</ul>
See <a href="doc/gf-history.html">GF history</a> for more details.
Download from

View File

@@ -1,6 +1,6 @@
dnl Run autoconf to generate configure from this file
AC_INIT([GF],[2.6t],[aarne@cs.chalmers.se],[GF])
AC_INIT([GF],[2.7],[aarne@cs.chalmers.se],[GF])
AC_PREREQ(2.53)

View File

@@ -1,5 +1,5 @@
%define name GF
%define version 2.6t
%define version 2.7
%define release 1
Name: %{name}