mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-10-29 02:13:18 -06:00
cleaning up resource module structure
This commit is contained in:
1 parent
14966590e6
commit
df20fe151f
45 files changed
+219
-69
No files matched your search
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> Adjectives and adjectival phrases</H1>
|
<P ALIGN="center"><CENTER><H1> Adjectives and adjectival phrases</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:37 2006
|
Last update: Wed Jan 25 10:50:12 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> Adverbs and adverbial phrases</H1>
|
<P ALIGN="center"><CENTER><H1> Adverbs and adverbial phrases</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:37 2006
|
Last update: Wed Jan 25 10:50:12 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> A Basic Lexicon</H1>
|
<P ALIGN="center"><CENTER><H1> A Basic Lexicon</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:37 2006
|
Last update: Wed Jan 25 10:50:12 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> The category system</H1>
|
<P ALIGN="center"><CENTER><H1> The category system</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:37 2006
|
Last update: Wed Jan 25 10:50:12 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> Coordination</H1>
|
<P ALIGN="center"><CENTER><H1> Coordination</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:38 2006
|
Last update: Wed Jan 25 10:50:13 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> The Main Module of the Resource Grammar</H1>
|
<P ALIGN="center"><CENTER><H1> The Main Module of the Resource Grammar</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:38 2006
|
Last update: Wed Jan 25 10:50:13 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> Symbolic expressions</H1>
|
<P ALIGN="center"><CENTER><H1> Symbolic expressions</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:38 2006
|
Last update: Wed Jan 25 10:50:13 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> The construction of nouns, noun phrases, and determiners</H1>
|
<P ALIGN="center"><CENTER><H1> The construction of nouns, noun phrases, and determiners</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:38 2006
|
Last update: Wed Jan 25 10:50:13 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> Numerals</H1>
|
<P ALIGN="center"><CENTER><H1> Numerals</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:38 2006
|
Last update: Wed Jan 25 10:50:13 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
<P></P>
|
<P></P>
|
||||||
<P>
|
<P>
|
||||||
Author:
|
Author:
|
||||||
Last update: Fri Jan 20 18:01:40 2006
|
Last update: Wed Jan 25 10:50:14 2006
|
||||||
</P>
|
</P>
|
||||||
<P>
|
<P>
|
||||||
Produced by
|
Produced by
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
<P></P>
|
<P></P>
|
||||||
<P>
|
<P>
|
||||||
Author:
|
Author:
|
||||||
Last update: Fri Jan 20 18:01:41 2006
|
Last update: Wed Jan 25 10:50:15 2006
|
||||||
</P>
|
</P>
|
||||||
<P>
|
<P>
|
||||||
Produced by
|
Produced by
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
<P></P>
|
<P></P>
|
||||||
<P>
|
<P>
|
||||||
Author:
|
Author:
|
||||||
Last update: Fri Jan 20 18:01:41 2006
|
Last update: Wed Jan 25 10:50:15 2006
|
||||||
</P>
|
</P>
|
||||||
<P>
|
<P>
|
||||||
Produced by
|
Produced by
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
<P></P>
|
<P></P>
|
||||||
<P>
|
<P>
|
||||||
Author:
|
Author:
|
||||||
Last update: Fri Jan 20 18:01:41 2006
|
Last update: Wed Jan 25 10:50:15 2006
|
||||||
</P>
|
</P>
|
||||||
<P>
|
<P>
|
||||||
Produced by
|
Produced by
|
||||||
@@ -90,8 +90,8 @@ words.
|
|||||||
open
|
open
|
||||||
(Predef=Predef),
|
(Predef=Predef),
|
||||||
Prelude,
|
Prelude,
|
||||||
ResScand,
|
CommonScand,
|
||||||
DiffSwe,
|
ResSwe,
|
||||||
MorphoSwe,
|
MorphoSwe,
|
||||||
CatSwe in {
|
CatSwe in {
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> Phrases and utterances</H1>
|
<P ALIGN="center"><CENTER><H1> Phrases and utterances</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:39 2006
|
Last update: Wed Jan 25 10:50:13 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> Questions and interrogative pronouns</H1>
|
<P ALIGN="center"><CENTER><H1> Questions and interrogative pronouns</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:39 2006
|
Last update: Wed Jan 25 10:50:13 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> Relative clauses and pronouns</H1>
|
<P ALIGN="center"><CENTER><H1> Relative clauses and pronouns</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:39 2006
|
Last update: Wed Jan 25 10:50:14 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> Clauses, imperatives, and sentential complements</H1>
|
<P ALIGN="center"><CENTER><H1> Clauses, imperatives, and sentential complements</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:39 2006
|
Last update: Wed Jan 25 10:50:14 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> GF Resource Grammar API for Structural Words</H1>
|
<P ALIGN="center"><CENTER><H1> GF Resource Grammar API for Structural Words</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:39 2006
|
Last update: Wed Jan 25 10:50:14 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
@@ -119,7 +119,6 @@ This is an alphabetical list of structural words
|
|||||||
this_NP : NP ;
|
this_NP : NP ;
|
||||||
those_NP : NP ;
|
those_NP : NP ;
|
||||||
those_Quant : QuantPl ;
|
those_Quant : QuantPl ;
|
||||||
thou_Pron : Pron ;
|
|
||||||
through_Prep : Prep ;
|
through_Prep : Prep ;
|
||||||
to_Prep : Prep ;
|
to_Prep : Prep ;
|
||||||
too_AdA : AdA ;
|
too_AdA : AdA ;
|
||||||
@@ -139,9 +138,10 @@ This is an alphabetical list of structural words
|
|||||||
why_IAdv : IAdv ;
|
why_IAdv : IAdv ;
|
||||||
with_Prep : Prep ;
|
with_Prep : Prep ;
|
||||||
without_Prep : Prep ;
|
without_Prep : Prep ;
|
||||||
ye_Pron : Pron ;
|
|
||||||
yes_Phr : Phr ;
|
yes_Phr : Phr ;
|
||||||
you_Pron : Pron ;
|
youSg_Pron : Pron ;
|
||||||
|
youPl_Pron : Pron ;
|
||||||
|
youPol_Pron : Pron ;
|
||||||
|
|
||||||
}
|
}
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> Tense, Polarity, and Anteriority</H1>
|
<P ALIGN="center"><CENTER><H1> Tense, Polarity, and Anteriority</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:40 2006
|
Last update: Wed Jan 25 10:50:14 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> Tensed forms of sentences, questions, and relative clauses</H1>
|
<P ALIGN="center"><CENTER><H1> Tensed forms of sentences, questions, and relative clauses</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:40 2006
|
Last update: Wed Jan 25 10:50:14 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<P ALIGN="center"><CENTER><H1> The construction of verb phrases</H1>
|
<P ALIGN="center"><CENTER><H1> The construction of verb phrases</H1>
|
||||||
<FONT SIZE="4">
|
<FONT SIZE="4">
|
||||||
<I>Author: </I><BR>
|
<I>Author: </I><BR>
|
||||||
Last update: Fri Jan 20 18:01:40 2006
|
Last update: Wed Jan 25 10:50:14 2006
|
||||||
</FONT></CENTER>
|
</FONT></CENTER>
|
||||||
|
|
||||||
<P></P>
|
<P></P>
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
--concrete ListConjunctionGer of Conjunction =
|
|
||||||
-- CatGer ** open ResGer, Coordination, Prelude in {
|
|
||||||
--
|
|
||||||
-- lin
|
|
||||||
--
|
|
||||||
-- ConjS conj ss = {s = conjunctX conj ss} ;
|
|
||||||
-- DConjS conj ss = {s = conjunctDistrX conj ss} ;
|
|
||||||
--
|
|
||||||
-- ConjAdv conj ss = {s = conjunctX conj ss} ;
|
|
||||||
-- DConjAdv conj ss = {s = conjunctDistrX conj ss} ;
|
|
||||||
--
|
|
||||||
-- ConjNP conj ss = conjunctTable Case conj ss ** {
|
|
||||||
-- a = {n = conjNumber conj.n ss.a.n ; p = ss.a.p}
|
|
||||||
-- } ;
|
|
||||||
-- DConjNP conj ss = conjunctDistrTable Case conj ss ** {
|
|
||||||
-- a = {n = conjNumber conj.n ss.a.n ; p = ss.a.p}
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
-- ConjAP conj ss = conjunctTable Agr conj ss ** {
|
|
||||||
-- isPre = ss.isPre
|
|
||||||
-- } ;
|
|
||||||
-- DConjAP conj ss = conjunctDistrTable Agr conj ss ** {
|
|
||||||
-- isPre = ss.isPre
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
---- These fun's are generated from the list cat's.
|
|
||||||
--
|
|
||||||
-- BaseS = twoSS ;
|
|
||||||
-- ConsS = consrSS comma ;
|
|
||||||
-- BaseAdv = twoSS ;
|
|
||||||
-- ConsAdv = consrSS comma ;
|
|
||||||
-- BaseNP x y = twoTable Case x y ** {a = conjAgr x.a y.a} ;
|
|
||||||
-- ConsNP xs x = consrTable Case comma xs x ** {a = conjAgr xs.a x.a} ;
|
|
||||||
-- BaseAP x y = twoTable Agr x y ** {isPre = andB x.isPre y.isPre} ;
|
|
||||||
-- ConsAP xs x = consrTable Agr comma xs x ** {isPre = andB xs.isPre x.isPre} ;
|
|
||||||
--
|
|
||||||
-- lincat
|
|
||||||
-- [S] = {s1,s2 : Str} ;
|
|
||||||
-- [Adv] = {s1,s2 : Str} ;
|
|
||||||
-- [NP] = {s1,s2 : Case => Str ; a : Agr} ;
|
|
||||||
-- [AP] = {s1,s2 : Agr => Str ; isPre : Bool} ;
|
|
||||||
--
|
|
||||||
--}
|
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,193 @@
|
|||||||
|
--1 Auxiliary operations common for Scandinavian languages.
|
||||||
|
--
|
||||||
|
-- This module contains operations that are shared by the Scandinavian
|
||||||
|
-- languages. The complete set of auxiliary operations needed to
|
||||||
|
-- implement [Test Test.html] is defined in [ResScandinavian ResScandinavian.html],
|
||||||
|
-- which depends on [DiffScandinavian DiffScandinavian.html].
|
||||||
|
|
||||||
|
resource CommonScand = ParamScand ** open Prelude in {
|
||||||
|
|
||||||
|
flags optimize=all ;
|
||||||
|
|
||||||
|
oper
|
||||||
|
|
||||||
|
-- For $Lex$.
|
||||||
|
|
||||||
|
-- For each lexical category, here are the worst-case constructors.
|
||||||
|
--
|
||||||
|
-- But $mkNoun$ is fully defined only for each language, since
|
||||||
|
-- $Gender$ varies.
|
||||||
|
|
||||||
|
nounForms : (x1,_,_,x4 : Str) -> (Number => Species => Case => Str) =
|
||||||
|
\man,mannen,men,mennen -> \\n,d,c => case <n,d> of {
|
||||||
|
<Sg,Indef> => mkCase c man ;
|
||||||
|
<Sg,Def> => mkCase c mannen ;
|
||||||
|
<Pl,Indef> => mkCase c men ;
|
||||||
|
<Pl,Def> => mkCase c mennen
|
||||||
|
} ;
|
||||||
|
|
||||||
|
Adjective : Type = {s : AForm => Str} ;
|
||||||
|
|
||||||
|
mkAdjective : (x1,_,_,_,_,_,x7 : Str) -> {s : AForm => Str} =
|
||||||
|
\liten, litet, lilla, sma, mindre, minst, minsta -> {
|
||||||
|
s = table {
|
||||||
|
AF (APosit a) c => mkCase c (mkAdjPos a liten litet lilla sma) ;
|
||||||
|
AF ACompar c => mkCase c mindre ;
|
||||||
|
AF (ASuperl SupStrong) c => mkCase c minst ;
|
||||||
|
AF (ASuperl SupWeak) c => mkCase c minsta
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkVerb : (x1,_,_,_,_,_,_,x8 : Str) -> {s : VForm => Str ; vtype : VType} =
|
||||||
|
\finna,finner,finn,fann,funnit,funnen,funnet,funna -> {
|
||||||
|
s = table {
|
||||||
|
VF (VPres Act) => finner ;
|
||||||
|
VF (VPres Pass) => mkVoice Pass finn ;
|
||||||
|
VF (VPret v) => mkVoice v fann ;
|
||||||
|
VF (VImper v) => mkVoice v finn ;
|
||||||
|
VI (VInfin v) => mkVoice v finna ;
|
||||||
|
VI (VSupin v) => mkVoice v funnit ;
|
||||||
|
VI (VPtPret a c)=> mkCase c (mkAdjPos a funnen funnet funna funna)
|
||||||
|
} ;
|
||||||
|
vtype = VAct
|
||||||
|
} ;
|
||||||
|
|
||||||
|
-- These are useful auxiliaries.
|
||||||
|
|
||||||
|
mkCase : Case -> Str -> Str = \c,f -> case c of {
|
||||||
|
Nom => f ;
|
||||||
|
Gen => f + case last f of {
|
||||||
|
"s" | "x" => [] ;
|
||||||
|
_ => "s"
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkAdjPos : AFormPos -> (s1,_,_,s4 : Str) -> Str =
|
||||||
|
\a, liten, litet, lilla, sma ->
|
||||||
|
case a of {
|
||||||
|
Strong gn => case gn of {
|
||||||
|
SgUtr => liten ;
|
||||||
|
SgNeutr => litet ;
|
||||||
|
Plg => sma
|
||||||
|
} ;
|
||||||
|
Weak Sg => lilla ;
|
||||||
|
Weak Pl => sma
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkVoice : Voice -> Str -> Str = \v,s -> case v of {
|
||||||
|
Act => s ;
|
||||||
|
Pass => s + case last s of {
|
||||||
|
"s" => "es" ;
|
||||||
|
_ => "s"
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
-- For $Noun$.
|
||||||
|
|
||||||
|
artDef : GenNum -> Str = \gn -> gennumForms "den" "det" "de" ! gn ;
|
||||||
|
|
||||||
|
mkNP : (x1,_,_,_,x5 : Str) -> GenNum -> Person ->
|
||||||
|
{s : NPForm => Str ; a : Agr} = \du,dig,din,ditt,dina,gn,p -> {
|
||||||
|
s = table {
|
||||||
|
NPNom => du ;
|
||||||
|
NPAcc => dig ;
|
||||||
|
NPPoss g => gennumForms din ditt dina ! g
|
||||||
|
} ;
|
||||||
|
a = {
|
||||||
|
gn = gn ;
|
||||||
|
p = p
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
gennumForms : (x1,x2,x3 : Str) -> GenNum => Str = \den,det,de ->
|
||||||
|
table {
|
||||||
|
SgUtr => den ;
|
||||||
|
SgNeutr => det ;
|
||||||
|
_ => de
|
||||||
|
} ;
|
||||||
|
|
||||||
|
regNP : Str -> Str -> GenNum -> {s : NPForm => Str ; a : Agr} =
|
||||||
|
\det,dess,gn ->
|
||||||
|
mkNP det det dess dess dess gn P3 ;
|
||||||
|
|
||||||
|
|
||||||
|
-- For $Verb$.
|
||||||
|
|
||||||
|
Verb : Type = {
|
||||||
|
s : VForm => Str ;
|
||||||
|
vtype : VType
|
||||||
|
} ;
|
||||||
|
|
||||||
|
VP = {
|
||||||
|
s : VPForm => {
|
||||||
|
fin : Str ; -- V1 har ---s1
|
||||||
|
inf : Str -- V2 sagt ---s4
|
||||||
|
} ;
|
||||||
|
a1 : Polarity => Str ; -- A1 inte ---s3
|
||||||
|
n2 : Agr => Str ; -- N2 dig ---s5
|
||||||
|
a2 : Str ; -- A2 idag ---s6
|
||||||
|
ext : Str ; -- S-Ext att hon går ---s7
|
||||||
|
--- ea1,ev2, --- these depend on params of v and a1
|
||||||
|
en2,ea2,eext : Bool -- indicate if the field exists
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
insertObj : (Agr => Str) -> VP -> VP = \obj,vp -> {
|
||||||
|
s = vp.s ;
|
||||||
|
a1 = vp.a1 ;
|
||||||
|
n2 = \\a => vp.n2 ! a ++ obj ! a ;
|
||||||
|
a2 = vp.a2 ;
|
||||||
|
ext = vp.ext ;
|
||||||
|
en2 = True ;
|
||||||
|
ea2 = vp.ea2 ;
|
||||||
|
eext = vp.eext
|
||||||
|
} ;
|
||||||
|
|
||||||
|
insertAdv : Str -> VP -> VP = \adv,vp -> {
|
||||||
|
s = vp.s ;
|
||||||
|
a1 = vp.a1 ;
|
||||||
|
n2 = vp.n2 ;
|
||||||
|
a2 = vp.a2 ++ adv ;
|
||||||
|
ext = vp.ext ;
|
||||||
|
en2 = vp.en2 ;
|
||||||
|
ea2 = True ;
|
||||||
|
eext = vp.eext
|
||||||
|
} ;
|
||||||
|
|
||||||
|
insertAdV : Str -> VP -> VP = \adv,vp -> {
|
||||||
|
s = vp.s ;
|
||||||
|
a1 = \\b => vp.a1 ! b ++ adv ;
|
||||||
|
n2 = vp.n2 ;
|
||||||
|
a2 = vp.a2 ;
|
||||||
|
ext = vp.ext ;
|
||||||
|
en2 = vp.en2 ;
|
||||||
|
ea2 = vp.ea2 ;
|
||||||
|
eext = vp.eext
|
||||||
|
} ;
|
||||||
|
|
||||||
|
infVP : VP -> Agr -> Str = \vp,a ->
|
||||||
|
(vp.s ! VPInfinit Simul).inf ++ vp.n2 ! a ++ vp.a2 ++ vp.ext ; --- a1
|
||||||
|
|
||||||
|
|
||||||
|
-- For $Sentence$.
|
||||||
|
|
||||||
|
Clause : Type = {
|
||||||
|
s : Tense => Anteriority => Polarity => Order => Str
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkClause : Str -> Agr -> VP -> Clause = \subj,agr,vp -> {
|
||||||
|
s = \\t,a,b,o =>
|
||||||
|
let
|
||||||
|
verb = vp.s ! VPFinite t a ;
|
||||||
|
neg = vp.a1 ! b ;
|
||||||
|
compl = vp.n2 ! agr ++ vp.a2 ++ vp.ext
|
||||||
|
in
|
||||||
|
case o of {
|
||||||
|
Main => subj ++ verb.fin ++ neg ++ verb.inf ++ compl ;
|
||||||
|
Inv => verb.fin ++ subj ++ neg ++ verb.inf ++ compl ;
|
||||||
|
Sub => subj ++ neg ++ verb.fin ++ verb.inf ++ compl
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
}
|
||||||
Reference in new issue
Block a user