mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-17 08:49:31 -06:00
fixing examples and their doc
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
--# -path=.:alltenses:prelude
|
||||
|
||||
concrete BigEnglish of BigEnglishAbs =
|
||||
English,
|
||||
GrammarEng,
|
||||
--- IrregEng,
|
||||
ExtraEng,
|
||||
BigLexEng
|
||||
** {} ;
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
--# -path=.:alltenses:prelude
|
||||
|
||||
abstract BigEnglishAbs =
|
||||
EnglishAbs,
|
||||
Grammar,
|
||||
--- IrregEngAbs,
|
||||
ExtraEngAbs,
|
||||
BigLexEngAbs
|
||||
** {} ;
|
||||
|
||||
@@ -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" ;
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
--# -path=.:alltenses:prelude
|
||||
|
||||
concrete BigSwedish of BigSwedishAbs =
|
||||
Swedish,
|
||||
GrammarSwe,
|
||||
ExtraSwe,
|
||||
BigLexSwe
|
||||
** {} ;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
abstract BigSwedishAbs =
|
||||
SwedishAbs,
|
||||
Grammar,
|
||||
ExtraSweAbs,
|
||||
BigLexSweAbs
|
||||
** {} ;
|
||||
|
||||
9
examples/big/README
Normal file
9
examples/big/README
Normal 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.
|
||||
|
||||
@@ -7,24 +7,12 @@
|
||||
<P ALIGN="center"><CENTER><H1>GF Grammar Examples</H1>
|
||||
<FONT SIZE="4">
|
||||
<I>Author: Aarne Ranta <aarne (at) cs.chalmers.se></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>
|
||||
|
||||
@@ -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
5
examples/shallow/README
Normal 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.
|
||||
16
index.html
16
index.html
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%define name GF
|
||||
%define version 2.6t
|
||||
%define version 2.7
|
||||
%define release 1
|
||||
|
||||
Name: %{name}
|
||||
|
||||
Reference in New Issue
Block a user