italian mkV and missing Besch paradigms

This commit is contained in:
aarne
2006-06-20 16:40:18 +00:00
parent a6cc18c8bd
commit ce14fdd825
5 changed files with 160 additions and 12 deletions

View File

@@ -28,9 +28,9 @@ Ita: infinitive contractions
Fin: zero subjects Fin: zero subjects
Spa: verb constructors in Paradigms %Spa: verb constructors in Paradigms or list of irregular verbs
Ita: verb constructors in Paradigms %Ita: verb constructors in Paradigms
API: mathematical/: math-specific lexicon API: mathematical/: math-specific lexicon

View File

@@ -7,9 +7,41 @@
<P ALIGN="center"><CENTER><H1>GF Resource Grammar Library v. 1.0</H1> <P ALIGN="center"><CENTER><H1>GF Resource Grammar Library v. 1.0</H1>
<FONT SIZE="4"> <FONT SIZE="4">
<I>Author: Aarne Ranta &lt;aarne (at) cs.chalmers.se&gt;</I><BR> <I>Author: Aarne Ranta &lt;aarne (at) cs.chalmers.se&gt;</I><BR>
Last update: Sat Jun 17 11:37:41 2006 Last update: Tue Jun 20 18:40:08 2006
</FONT></CENTER> </FONT></CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Authors</A>
<LI><A HREF="#toc2">License</A>
<LI><A HREF="#toc3">Scope</A>
<LI><A HREF="#toc4">Quick start</A>
<UL>
<LI><A HREF="#toc5">The language independent ground API</A>
<LI><A HREF="#toc6">The language-dependent APIs</A>
<LI><A HREF="#toc7">Special-purpose APIs</A>
</UL>
<LI><A HREF="#toc8">Using the library</A>
<UL>
<LI><A HREF="#toc9">The compiled version</A>
<LI><A HREF="#toc10">Linking applications to libraries</A>
<LI><A HREF="#toc11">Using the libraries as top-level grammars</A>
</UL>
<LI><A HREF="#toc12">Example applications</A>
<UL>
<LI><A HREF="#toc13">Brozeage</A>
<LI><A HREF="#toc14">Dialogue</A>
<LI><A HREF="#toc15">Animals</A>
</UL>
<LI><A HREF="#toc16">Known bugs and missing components</A>
<LI><A HREF="#toc17">More reading</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P> <P>
The GF Resource Grammar Library defines the basic grammar of The GF Resource Grammar Library defines the basic grammar of
ten languages: ten languages:
@@ -24,6 +56,7 @@ Italian, Norwegian, Russian, Spanish, Swedish.
yet been "officially" released. The release is planned in the end yet been "officially" released. The release is planned in the end
of June 2006. of June 2006.
</P> </P>
<A NAME="toc1"></A>
<H2>Authors</H2> <H2>Authors</H2>
<P> <P>
Inger Andersson and Therese Soderberg (Spanish morphology), Inger Andersson and Therese Soderberg (Spanish morphology),
@@ -58,12 +91,14 @@ Saara Myllyntausta,
Wanjiku Ng'ang'a, Wanjiku Ng'ang'a,
Jordi Saludes. Jordi Saludes.
</P> </P>
<A NAME="toc2"></A>
<H2>License</H2> <H2>License</H2>
<P> <P>
The GF Resource Grammar Library is open-source software licensed under The GF Resource Grammar Library is open-source software licensed under
GNU General Public License. See the file <A HREF="../LICENSE">LICENSE</A> for more GNU General Public License. See the file <A HREF="../LICENSE">LICENSE</A> for more
details. details.
</P> </P>
<A NAME="toc3"></A>
<H2>Scope</H2> <H2>Scope</H2>
<P> <P>
Coverage, for each language: Coverage, for each language:
@@ -94,6 +129,7 @@ Presentation:
<LI>example collections <LI>example collections
</UL> </UL>
<A NAME="toc4"></A>
<H2>Quick start</H2> <H2>Quick start</H2>
<P> <P>
Go to the main directory, compile the grammars, and run a test. Go to the main directory, compile the grammars, and run a test.
@@ -127,6 +163,7 @@ Do for instance
<P> <P>
For more examples, see the <A HREF="clt2006.html">Overview slides</A>. For more examples, see the <A HREF="clt2006.html">Overview slides</A>.
</P> </P>
<A NAME="toc5"></A>
<H3>The language independent ground API</H3> <H3>The language independent ground API</H3>
<P> <P>
This API is accessible by both <CODE>present</CODE> and <CODE>alltenses</CODE>. This API is accessible by both <CODE>present</CODE> and <CODE>alltenses</CODE>.
@@ -160,6 +197,7 @@ The documentation of the individual modules:
<LI><A HREF="gfdoc/Lang.html">Lang</A>: the main module comprising both <CODE>Grammar</CODE> and <CODE>Lexicon</CODE> <LI><A HREF="gfdoc/Lang.html">Lang</A>: the main module comprising both <CODE>Grammar</CODE> and <CODE>Lexicon</CODE>
</UL> </UL>
<A NAME="toc6"></A>
<H3>The language-dependent APIs</H3> <H3>The language-dependent APIs</H3>
<UL> <UL>
<LI><A HREF="gfdoc/ParadigmsDan.html">ParadigmsDan</A>: Danish lexical paradigms <LI><A HREF="gfdoc/ParadigmsDan.html">ParadigmsDan</A>: Danish lexical paradigms
@@ -207,6 +245,7 @@ This is the structure of each language-dependent top module.
<LI><A HREF="../swedish/SwedishAbs.gf">Swedish</A>: Swedish with all extras <LI><A HREF="../swedish/SwedishAbs.gf">Swedish</A>: Swedish with all extras
</UL> </UL>
<A NAME="toc7"></A>
<H3>Special-purpose APIs</H3> <H3>Special-purpose APIs</H3>
<H4>Present</H4> <H4>Present</H4>
<P> <P>
@@ -234,7 +273,9 @@ gesture. Some functions for constructing demonstratives are provided.
<LI><A HREF="gfdoc/Symbol.html">Symbol</A>: symbols and numbers in text <LI><A HREF="gfdoc/Symbol.html">Symbol</A>: symbols and numbers in text
</UL> </UL>
<A NAME="toc8"></A>
<H2>Using the library</H2> <H2>Using the library</H2>
<A NAME="toc9"></A>
<H3>The compiled version</H3> <H3>The compiled version</H3>
<P> <P>
The simplest way to get the library is to install the precompiled version The simplest way to get the library is to install the precompiled version
@@ -256,6 +297,7 @@ library. Use one (or several) of the following packages instead:
multimodal dialogue applications multimodal dialogue applications
</UL> </UL>
<A NAME="toc10"></A>
<H3>Linking applications to libraries</H3> <H3>Linking applications to libraries</H3>
<P> <P>
Typically, open one of Typically, open one of
@@ -294,6 +336,7 @@ The <CODE>mathematical</CODE> API shares modules with
<CODE>present</CODE>. It is therefore not a good idea to use it in combination with <CODE>present</CODE>. It is therefore not a good idea to use it in combination with
<CODE>alltenses</CODE>. <CODE>alltenses</CODE>.
</P> </P>
<A NAME="toc11"></A>
<H3>Using the libraries as top-level grammars</H3> <H3>Using the libraries as top-level grammars</H3>
<P> <P>
If you have done <CODE>make</CODE> in <CODE>lib/resource-1.0</CODE>, you will have If you have done <CODE>make</CODE> in <CODE>lib/resource-1.0</CODE>, you will have
@@ -329,12 +372,14 @@ each session, but gets faster at later runs.
<P> <P>
It is also feasible to parse in Scandinavian languages (Danish, Norwegian, Swedish). It is also feasible to parse in Scandinavian languages (Danish, Norwegian, Swedish).
</P> </P>
<A NAME="toc12"></A>
<H2>Example applications</H2> <H2>Example applications</H2>
<P> <P>
These applications are meant to serve as starting points for These applications are meant to serve as starting points for
new applications, showing how the libraries can be used in new applications, showing how the libraries can be used in
typical situations. typical situations.
</P> </P>
<A NAME="toc13"></A>
<H3>Brozeage</H3> <H3>Brozeage</H3>
<P> <P>
The <A HREF="../../../examples/bronzeage">examples/bronzeage</A> The <A HREF="../../../examples/bronzeage">examples/bronzeage</A>
@@ -342,6 +387,7 @@ grammar set implements a language fragment
based on the Swadesh list of 200 words. It is useful for based on the Swadesh list of 200 words. It is useful for
things like language training. things like language training.
</P> </P>
<A NAME="toc14"></A>
<H3>Dialogue</H3> <H3>Dialogue</H3>
<P> <P>
The <A HREF="../../../examples/dialogue">examples/dialogue</A> The <A HREF="../../../examples/dialogue">examples/dialogue</A>
@@ -350,6 +396,7 @@ multimodal dialogue system.
Its purpose is to serve as a prototype for applications in the Its purpose is to serve as a prototype for applications in the
TALK project. TALK project.
</P> </P>
<A NAME="toc15"></A>
<H3>Animals</H3> <H3>Animals</H3>
<P> <P>
The <A HREF="../../../examples/animal">examples/animal</A> The <A HREF="../../../examples/animal">examples/animal</A>
@@ -357,6 +404,7 @@ grammar set implements some queries about animals.
Its purpose is to serve as a prototype for example-based Its purpose is to serve as a prototype for example-based
grammar writing. grammar writing.
</P> </P>
<A NAME="toc16"></A>
<H2>Known bugs and missing components</H2> <H2>Known bugs and missing components</H2>
<P> <P>
Danish Danish
@@ -399,7 +447,6 @@ Italian
</P> </P>
<UL> <UL>
<LI>no contraction of infinitives before clitics <LI>no contraction of infinitives before clitics
<LI>no list of irregular verbs
<LI>multiple clitics (with V3) not always right <LI>multiple clitics (with V3) not always right
</UL> </UL>
@@ -422,7 +469,6 @@ Russian
Spanish Spanish
</P> </P>
<UL> <UL>
<LI>no list of irregular verbs
<LI>multiple clitics (with V3) not always right <LI>multiple clitics (with V3) not always right
</UL> </UL>
@@ -433,6 +479,7 @@ Swedish
<LI>- <LI>-
</UL> </UL>
<A NAME="toc17"></A>
<H2>More reading</H2> <H2>More reading</H2>
<P> <P>
<A HREF="../../../doc/resource.pdf">GF Resource Grammar Library</A> (pdf). <A HREF="../../../doc/resource.pdf">GF Resource Grammar Library</A> (pdf).
@@ -466,5 +513,5 @@ examples are from <CODE>multimodal/old</CODE>, which is a reduced-size API.
</P> </P>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) --> <!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags index.txt --> <!-- cmdline: txt2tags -\-toc index.txt -->
</BODY></HTML> </BODY></HTML>

View File

@@ -353,7 +353,6 @@ German
Italian Italian
- no contraction of infinitives before clitics - no contraction of infinitives before clitics
- no list of irregular verbs
- multiple clitics (with V3) not always right - multiple clitics (with V3) not always right

View File

@@ -6402,12 +6402,31 @@ oper morire_105 : Str -> Verbo = \morire ->
} }
} ; } ;
---- morire_105 oper salire_106 : Str -> Verbo = \salire ->
let x_ = Predef.tk 6 salire in
mkVerbo
(x_ + "salire") (x_ + "salgo") (x_ + "sale") (x_ + "saliamo")
(x_ + "salirò") (x_ + "salii") (x_ + "salisti") (x_ + "salì")
(x_ + "salirono") (x_ + "sali") (x_ + "salito") ;
---- salire_106 oper seguire_107 : Str -> Verbo = \seguire ->
---- seguire_107 let x_ = Predef.tk 7 seguire in
---- udire_108 mkVerbo
---- uscire_109 (x_ + "seguire") (x_ + "seguo") (x_ + "segue") (x_ + "seguiamo")
(x_ + "seguirò") (x_ + "seguii") (x_ + "seguisti") (x_ + "seguì")
(x_ + "seguirono") (x_ + "segui") (x_ + "seguito") ;
oper udire_108 : Str -> Verbo = \udire ->
let x_ = Predef.tk 5 udire in
mkVerbo (x_ + "udire") (x_ + "odo") (x_ + "ode") (x_ + "udiamo")
(x_ + "udirò") (x_ + "udii") (x_ + "udisti") (x_ + "udì")
(x_ + "udirono") (x_ + "odi") (x_ + "udito") ;
oper uscire_109 : Str -> Verbo = \uscire ->
let x_ = Predef.tk 6 uscire in
mkVerbo (x_ + "uscire") (x_ + "esco") (x_ + "esce")
(x_ + "usciamo") (x_ + "uscirò") (x_ + "uscii") (x_ + "uscisti")
(x_ + "uscì") (x_ + "uscirono") (x_ + "esci") (x_ + "uscito") ;
oper venire_110 : Str -> Verbo = \venire -> oper venire_110 : Str -> Verbo = \venire ->
let v_ = Predef.tk 5 venire in let v_ = Predef.tk 5 venire in
@@ -6508,5 +6527,75 @@ param
| Part TempoP Gender Number | Part TempoP Gender Number
; ;
oper
mkVerbo : (x1,_,_,_,_,_,_,_,_,_,x11 : Str) -> Verbo ;
mkVerbo
dovere devo deve dobbiamo dovro
dovetti dovesti dovette dovettero dovi dovuto =
let
dove = Predef.tk 2 dovere ;
dov = init dove ;
dev = init devo ;
dovr = init dovro ;
dovei = Predef.tk 3 dovesti ;
dovut = init dovuto
in (
{s = table {
Inf => dovere ;
InfClit => init dovere ;
Indi Pres Sg P1 => devo ;
Indi Pres Sg P2 => init deve + "i" ;
Indi Pres Sg P3 => deve ;
Indi Pres Pl P1 => dobbiamo ;
Indi Pres Pl P2 => dove + "te" ;
Indi Pres Pl P3 => init deve + "ono" ;
Indi Imperf Sg P1 => dove + "vo" ; --# notpresent
Indi Imperf Sg P2 => dove + "vi" ; --# notpresent
Indi Imperf Sg P3 => dove + "va" ; --# notpresent
Indi Imperf Pl P1 => dove + "vamo" ; --# notpresent
Indi Imperf Pl P2 => dove + "vate" ; --# notpresent
Indi Imperf Pl P3 => dove + "vano" ; --# notpresent
Pass Sg P1 => dovetti ; --# notpresent
Pass Sg P2 => dovesti ; --# notpresent
Pass Sg P3 => dovette ; --# notpresent
Pass Pl P1 => dovei + "mmo" ; --# notpresent
Pass Pl P2 => dovei + "ste" ; --# notpresent
Pass Pl P3 => dovettero ; --# notpresent
Fut Sg P1 => dovro ; --# notpresent
Fut Sg P2 => dovr + "ai" ; --# notpresent
Fut Sg P3 => dovr + "à" ; --# notpresent
Fut Pl P1 => dovr + "emo" ; --# notpresent
Fut Pl P2 => dovr + "ete" ; --# notpresent
Fut Pl P3 => dovr + "anno" ; --# notpresent
Cong Pres Sg P1 => dev + "a" ;
Cong Pres Sg P2 => dev + "a" ;
Cong Pres Sg P3 => dev + "a" ;
Cong Pres Pl P1 => dobbiamo ;
Cong Pres Pl P2 => Predef.tk 2 dobbiamo + "te" ;
Cong Pres Pl P3 => dev + "ano" ;
Cong Imperf Sg P1 => dovei + "ssi" ; --# notpresent
Cong Imperf Sg P2 => dovei + "ssi" ; --# notpresent
Cong Imperf Sg P3 => dovei + "sse" ; --# notpresent
Cong Imperf Pl P1 => dovei + "ssimo" ; --# notpresent
Cong Imperf Pl P2 => dovei + "ste" ; --# notpresent
Cong Imperf Pl P3 => dovei + "ssero" ; --# notpresent
Cond Sg P1 => dovr + "ei" ; --# notpresent
Cond Sg P2 => dovr + "esti" ; --# notpresent
Cond Sg P3 => dovr + "ebbe" ; --# notpresent
Cond Pl P1 => dovr + "emmo" ; --# notpresent
Cond Pl P2 => dovr + "este" ; --# notpresent
Cond Pl P3 => dovr + "ebbero" ; --# notpresent
Imper SgP2 => dovi ;
Imper PlP1 => dobbiamo ;
Imper PlP2 => dove + "te" ;
Ger => dov + "endo" ;
Part PresP _ Sg => dov + "ente" ;
Part PresP _ Pl => dov + "enti" ;
Part PassP Masc Sg => dovuto ;
Part PassP Masc Pl => dovut + "i" ;
Part PassP Fem Sg => dovut + "a" ;
Part PassP Fem Pl => dovut + "e"
}
}) ;
} }

View File

@@ -212,6 +212,12 @@ oper
essereV : V -> V ; essereV : V -> V ;
reflV : V -> V ; reflV : V -> V ;
-- If $BeschIta$ does not give the desired result or feels difficult
-- to consult, here is a worst-case function for "-ere" and "-ere" verbs,
-- taking 11 arguments.
mkV :
(udire,odo,ode,udiamo,udiro,udii,udisti,udi,udirono,odi,udito : Str) -> V ;
--3 Two-place verbs --3 Two-place verbs
-- --
@@ -344,6 +350,13 @@ oper
verboV ve = verbBesch ve ** {vtyp = VHabere ; lock_V = <>} ; verboV ve = verbBesch ve ** {vtyp = VHabere ; lock_V = <>} ;
mkV
dovere devo deve dobbiamo dovro
dovetti dovesti dovette dovettero dovi dovuto = verboV (mkVerbo
dovere devo deve dobbiamo dovro
dovetti dovesti dovette dovettero dovi dovuto
) ;
essereV v = {s = v.s ; vtyp = VEsse ; lock_V = <>} ; essereV v = {s = v.s ; vtyp = VEsse ; lock_V = <>} ;
reflV v = {s = v.s ; vtyp = VRefl ; lock_V = <>} ; reflV v = {s = v.s ; vtyp = VRefl ; lock_V = <>} ;