From ce14fdd825b295812b695e55429d4cd8fa056892 Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 20 Jun 2006 16:40:18 +0000 Subject: [PATCH] italian mkV and missing Besch paradigms --- lib/resource-1.0/TODO | 4 +- lib/resource-1.0/doc/index.html | 55 ++++++++++++- lib/resource-1.0/doc/index.txt | 1 - lib/resource-1.0/italian/BeschIta.gf | 99 ++++++++++++++++++++++-- lib/resource-1.0/italian/ParadigmsIta.gf | 13 ++++ 5 files changed, 160 insertions(+), 12 deletions(-) diff --git a/lib/resource-1.0/TODO b/lib/resource-1.0/TODO index 7ae9f9a7f..4c1aa1a79 100644 --- a/lib/resource-1.0/TODO +++ b/lib/resource-1.0/TODO @@ -28,9 +28,9 @@ Ita: infinitive contractions 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 diff --git a/lib/resource-1.0/doc/index.html b/lib/resource-1.0/doc/index.html index 795bf10c3..f0b6da1e0 100644 --- a/lib/resource-1.0/doc/index.html +++ b/lib/resource-1.0/doc/index.html @@ -7,9 +7,41 @@

GF Resource Grammar Library v. 1.0

Author: Aarne Ranta <aarne (at) cs.chalmers.se>
-Last update: Sat Jun 17 11:37:41 2006 +Last update: Tue Jun 20 18:40:08 2006
+

+
+

+ + +

+
+

The GF Resource Grammar Library defines the basic grammar of ten languages: @@ -24,6 +56,7 @@ Italian, Norwegian, Russian, Spanish, Swedish. yet been "officially" released. The release is planned in the end of June 2006.

+

Authors

Inger Andersson and Therese Soderberg (Spanish morphology), @@ -58,12 +91,14 @@ Saara Myllyntausta, Wanjiku Ng'ang'a, Jordi Saludes.

+

License

The GF Resource Grammar Library is open-source software licensed under GNU General Public License. See the file LICENSE for more details.

+

Scope

Coverage, for each language: @@ -94,6 +129,7 @@ Presentation:

  • example collections +

    Quick start

    Go to the main directory, compile the grammars, and run a test. @@ -127,6 +163,7 @@ Do for instance

    For more examples, see the Overview slides.

    +

    The language independent ground API

    This API is accessible by both present and alltenses. @@ -160,6 +197,7 @@ The documentation of the individual modules:

  • Lang: the main module comprising both Grammar and Lexicon +

    The language-dependent APIs

    +

    Special-purpose APIs

    Present

    @@ -234,7 +273,9 @@ gesture. Some functions for constructing demonstratives are provided.

  • Symbol: symbols and numbers in text +

    Using the library

    +

    The compiled 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 +

    Linking applications to libraries

    Typically, open one of @@ -294,6 +336,7 @@ The mathematical API shares modules with present. It is therefore not a good idea to use it in combination with alltenses.

    +

    Using the libraries as top-level grammars

    If you have done make in lib/resource-1.0, you will have @@ -329,12 +372,14 @@ each session, but gets faster at later runs.

    It is also feasible to parse in Scandinavian languages (Danish, Norwegian, Swedish).

    +

    Example applications

    These applications are meant to serve as starting points for new applications, showing how the libraries can be used in typical situations.

    +

    Brozeage

    The examples/bronzeage @@ -342,6 +387,7 @@ grammar set implements a language fragment based on the Swadesh list of 200 words. It is useful for things like language training.

    +

    Dialogue

    The examples/dialogue @@ -350,6 +396,7 @@ multimodal dialogue system. Its purpose is to serve as a prototype for applications in the TALK project.

    +

    Animals

    The examples/animal @@ -357,6 +404,7 @@ grammar set implements some queries about animals. Its purpose is to serve as a prototype for example-based grammar writing.

    +

    Known bugs and missing components

    Danish @@ -399,7 +447,6 @@ Italian

    @@ -422,7 +469,6 @@ Russian Spanish

    @@ -433,6 +479,7 @@ Swedish
  • - +

    More reading

    GF Resource Grammar Library (pdf). @@ -466,5 +513,5 @@ examples are from multimodal/old, which is a reduced-size API.

    - + diff --git a/lib/resource-1.0/doc/index.txt b/lib/resource-1.0/doc/index.txt index 292cf134d..581c19f02 100644 --- a/lib/resource-1.0/doc/index.txt +++ b/lib/resource-1.0/doc/index.txt @@ -353,7 +353,6 @@ German Italian - no contraction of infinitives before clitics -- no list of irregular verbs - multiple clitics (with V3) not always right diff --git a/lib/resource-1.0/italian/BeschIta.gf b/lib/resource-1.0/italian/BeschIta.gf index 662a7c27e..0b57f9309 100644 --- a/lib/resource-1.0/italian/BeschIta.gf +++ b/lib/resource-1.0/italian/BeschIta.gf @@ -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 ----- seguire_107 ----- udire_108 ----- uscire_109 +oper seguire_107 : Str -> Verbo = \seguire -> + let x_ = Predef.tk 7 seguire in + mkVerbo + (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 -> let v_ = Predef.tk 5 venire in @@ -6508,5 +6527,75 @@ param | 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" + } + }) ; } diff --git a/lib/resource-1.0/italian/ParadigmsIta.gf b/lib/resource-1.0/italian/ParadigmsIta.gf index ae93829f3..8ba666543 100644 --- a/lib/resource-1.0/italian/ParadigmsIta.gf +++ b/lib/resource-1.0/italian/ParadigmsIta.gf @@ -212,6 +212,12 @@ oper essereV : 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 -- @@ -344,6 +350,13 @@ oper 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 = <>} ; reflV v = {s = v.s ; vtyp = VRefl ; lock_V = <>} ;