mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 01:18:57 -06:00
Restuructured Pron, which affected Quant and all the functions that use it.
This commit is contained in:
@@ -31,13 +31,13 @@ lincat
|
|||||||
NP = Res.NounPhrase; -- noun phrase (subject or object) e.g. "the red house"
|
NP = Res.NounPhrase; -- noun phrase (subject or object) e.g. "the red house"
|
||||||
Pron = Res.Pronoun ; -- personal pronoun e.g. "she"
|
Pron = Res.Pronoun ; -- personal pronoun e.g. "she"
|
||||||
Det = Res.Determiner ; -- determiner phrase e.g. "those seven"
|
Det = Res.Determiner ; -- determiner phrase e.g. "those seven"
|
||||||
Quant = {s : Str ; s2 :Res.Agreement => Str; doesAgree : Bool} ; -- quantifier ('nucleus' of Det) e.g. "this/these"
|
Quant = {s : Res.Pronoun; s2 :Res.Agreement => Str; doesAgree : Bool; isPron: Bool} ; -- quantifier ('nucleus' of Det) e.g. "this/these"
|
||||||
Num = Res.Numer ; -- number determining element e.g. "seven"
|
Num = Res.Numer ; -- number determining element e.g. "seven"
|
||||||
AP = {s : Str ; position1 : Res.Position1; isProper : Bool; isPrep: Bool};--Res.AdjectivalPhrase;
|
AP = {s : Str ; position1 : Res.Position1; isProper : Bool; isPrep: Bool};--Res.AdjectivalPhrase;
|
||||||
A = Res.Adjective;
|
A = Res.Adjective;
|
||||||
Comp = Res.Comp; -- complement of copula, such as AP e.g. "very warm"
|
Comp = Res.Comp; -- complement of copula, such as AP e.g. "very warm"
|
||||||
|
|
||||||
Adv = Res.Adverb;
|
Adv = Res.Adverb; --Verb Phrase modifying adverb
|
||||||
VPSlash = Res.VPSlash;
|
VPSlash = Res.VPSlash;
|
||||||
PN = Res.ProperNoun; -- ProperNoun : Type = {s: Str ; a:Agreement ; isPlace : Bool};
|
PN = Res.ProperNoun; -- ProperNoun : Type = {s: Str ; a:Agreement ; isPlace : Bool};
|
||||||
Conj = Res.Conjunction; -- Conjunction: Type = {s : AgrConj =>Str ;s2 : Str ; n : Number} ; -- conjunction e.g. "and"
|
Conj = Res.Conjunction; -- Conjunction: Type = {s : AgrConj =>Str ;s2 : Str ; n : Number} ; -- conjunction e.g. "and"
|
||||||
|
|||||||
@@ -8,7 +8,12 @@ lin
|
|||||||
--UsePN : PN -> NP ; -- John
|
--UsePN : PN -> NP ; -- John
|
||||||
UsePN pn = {s = \\ _ => pn.s; agr = pn.a}; -- John
|
UsePN pn = {s = \\ _ => pn.s; agr = pn.a}; -- John
|
||||||
|
|
||||||
UsePron pron = { s = pron.s; agr = pron.agr}; --: Pron -> NP ; -- he
|
UsePron pron =
|
||||||
|
let default3PAgr = (AgP3 Sg KI_BI)
|
||||||
|
in case <pron.agr> of {
|
||||||
|
<(AgrYes a)> => {s = pron.s; agr = a}; --: Pron -> NP ; -- he
|
||||||
|
<_> => {s = pron.third !default3PAgr; agr = default3PAgr}
|
||||||
|
};
|
||||||
--UsePron pron = pron; -- the result of use pron is a NounPhrase
|
--UsePron pron = pron; -- the result of use pron is a NounPhrase
|
||||||
--MassNP : CN -> NP ; -- (beer)
|
--MassNP : CN -> NP ; -- (beer)
|
||||||
MassNP cn = {s = \\_ =>cn.s ! Complete ! Pl; agr = AgP3 Pl cn.gender}; --: CN -> NP ; -- milk
|
MassNP cn = {s = \\_ =>cn.s ! Complete ! Pl; agr = AgP3 Pl cn.gender}; --: CN -> NP ; -- milk
|
||||||
@@ -80,10 +85,10 @@ lin
|
|||||||
|
|
||||||
{-What the hell does this mean?-}
|
{-What the hell does this mean?-}
|
||||||
ExtAdvNP np adv = {s= \\c => np.s ! c ++ embedInCommas adv.s; agr = np.agr}; -- how do I do the adverbial clause?
|
ExtAdvNP np adv = {s= \\c => np.s ! c ++ embedInCommas adv.s; agr = np.agr}; -- how do I do the adverbial clause?
|
||||||
-- Determiner: Type = {s:Str; ntype:NounType; num:Number; pos:Position}; -- type for Determier necessary for catCgg.gf
|
-- Determiner: Type = {s:Str; ntype:NounType; num:Number; pos:Position}; -- type for Determier necessary for catCgg.gf
|
||||||
|
|
||||||
-- The determiner has a fine-grained structure, in which a 'nucleus'
|
-- The determiner has a fine-grained structure, in which a 'nucleus'
|
||||||
-- quantifier and an optional numeral can be discerned.
|
-- quantifier and an optional numeral can be discerned.
|
||||||
--DetQuant : Quant -> Num -> Det ; -- these five
|
--DetQuant : Quant -> Num -> Det ; -- these five
|
||||||
DetQuant quant num = {s=[]; s2 = quant.s2; ntype = Incomplete; num = num.n; pos=PreDeterminer; doesAgree = quant.doesAgree}; --
|
DetQuant quant num = {s=[]; s2 = quant.s2; ntype = Incomplete; num = num.n; pos=PreDeterminer; doesAgree = quant.doesAgree}; --
|
||||||
|
|
||||||
@@ -93,9 +98,9 @@ lin
|
|||||||
NumSg = {s=[]; n=Sg};
|
NumSg = {s=[]; n=Sg};
|
||||||
NumPl = {s=[]; n=Pl};
|
NumPl = {s=[]; n=Pl};
|
||||||
-- NumCard card = {...};
|
-- NumCard card = {...};
|
||||||
--Quant = {s : Str ; s2 :Res.Agreement => Str; doesAgree : Bool} ;
|
--Quant = {s : Res.Pronoun; s2 :Res.Agreement => Str; doesAgree : Bool; isPron: Bool} ;
|
||||||
IndefArt = {s=[]; s2 = \\_=>[]; doesAgree = False};
|
IndefArt = {s={s=\\_=>[]; third = \\_,_=>[];agr = AgrNo }; s2 = \\_=>[]; doesAgree = False; isPron=False};
|
||||||
DefArt = {s=[]; s2 = \\_=>[]; doesAgree = False}; -- noun with initial vowel
|
DefArt = {s={s =\\_=>[]; third = \\_,_=>[]; agr = AgrNo }; s2 = \\_=>[]; doesAgree = False; isPron = False}; -- noun with initial vowel
|
||||||
|
|
||||||
--NumDigits : Digits -> Card ; -- 51
|
--NumDigits : Digits -> Card ; -- 51
|
||||||
NumDigits dig = {s = dig.s!NCard ; n=dig.n};
|
NumDigits dig = {s = dig.s!NCard ; n=dig.n};
|
||||||
@@ -109,8 +114,15 @@ lin
|
|||||||
--OrdSuperl : A -> Ord ; -- warmest
|
--OrdSuperl : A -> Ord ; -- warmest
|
||||||
--Adjective : Type = {s : Str ; position1 : Position1; isProper : Bool; isPrep: Bool};
|
--Adjective : Type = {s : Str ; position1 : Position1; isProper : Bool; isPrep: Bool};
|
||||||
OrdSuperl a = {s= \\c => a.s ++ "kukira" ++ (mkAdjPronIVClitic c) ++ BIND ++ "ona"; position1 = a.position1};
|
OrdSuperl a = {s= \\c => a.s ++ "kukira" ++ (mkAdjPronIVClitic c) ++ BIND ++ "ona"; position1 = a.position1};
|
||||||
-- AdvCN : CN -> Adv -> CN ; -- house on the hill
|
-- AdvCN : CN -> Adv -> CN ; -- house on the hill
|
||||||
--AdvCN cn adv ={s=\\ntype,num =>cn.s!ntype!num ++ adv.s!(AgP3 num cn.nc); nc=cn.nc};
|
AdvCN cn adv ={s=\\ntype,num =>cn.s!ntype!num ++ adv.s; gender=cn.gender};
|
||||||
|
-- Pronouns have possessive forms. Genitives of other kinds
|
||||||
|
-- of noun phrases are not given here, since they are not possible
|
||||||
|
-- in e.g. Romance languages. They can be found in $Extra$ modules.
|
||||||
|
|
||||||
|
--PossPron : Pron -> Quant ; -- my (house)
|
||||||
|
PossPron pron = {s =pron; s2 =\\_=> []; doesAgree = True; isPron = True};
|
||||||
|
|
||||||
{-
|
{-
|
||||||
--1 Noun: Nouns, noun phrases, and determiners
|
--1 Noun: Nouns, noun phrases, and determiners
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
--# -path=.:../prelude:../abstract:../common
|
--# -path=.:../prelude:../abstract:../common
|
||||||
|
|
||||||
concrete QuestionCgg of Question = CatCgg ** open ResCgg, Prelude in {
|
concrete QuestionCgg of Question = CatCgg ** open ResCgg, Prelude in {
|
||||||
|
--1 Question: Questions and Interrogative Pronouns
|
||||||
|
|
||||||
{-
|
{-
|
||||||
--1 Question: Questions and Interrogative Pronouns
|
--1 Question: Questions and Interrogative Pronouns
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ param
|
|||||||
ZERO_MI | ZERO_TU | ZERO_N | I_ZERO |
|
ZERO_MI | ZERO_TU | ZERO_N | I_ZERO |
|
||||||
RI_ZERO | KU_ZERO | MU_ZERO | RU_ZERO |
|
RI_ZERO | KU_ZERO | MU_ZERO | RU_ZERO |
|
||||||
KA_ZERO |ZERO_BAA | N_ZERO | KI_ZERO;
|
KA_ZERO |ZERO_BAA | N_ZERO | KI_ZERO;
|
||||||
Case = Acc | Nom ; -- we need to include Gen because we shall need it with Gen Pronouns
|
Case = Acc | Nom |Gen; -- we need to include Gen because we shall need it with Gen Pronouns
|
||||||
RCase = RSuj | RObj;
|
RCase = RSuj | RObj;
|
||||||
PersonalPronounType = SubjM | Obj | RelSubj | RelObj |
|
PersonalPronounType = SubjM | Obj | RelSubj | RelObj |
|
||||||
AdjPron2 | -- aAdjectival Prefixes with initial vowel with the semantics of "the" e.g. -- omuntu o-mu-rungi
|
AdjPron2 | -- aAdjectival Prefixes with initial vowel with the semantics of "the" e.g. -- omuntu o-mu-rungi
|
||||||
@@ -43,7 +43,7 @@ param
|
|||||||
-}
|
-}
|
||||||
ConjArg = Nn_Nn | Nps_Nps | Pns_Pns | RelSubjCls | Other;
|
ConjArg = Nn_Nn | Nps_Nps | Pns_Pns | RelSubjCls | Other;
|
||||||
AgrConj = AConj ConjArg;
|
AgrConj = AConj ConjArg;
|
||||||
Agreement = AgP3 Number Gender | AgMUBAP1 Number |AgMUBAP2 Number ;
|
Agreement = AgP3 Number Gender | AgMUBAP1 Number |AgMUBAP2 Number; --Default is AgP3 Sg KI_BI
|
||||||
AgrExist = AgrNo | AgrYes Agreement;
|
AgrExist = AgrNo | AgrYes Agreement;
|
||||||
Position = PostDeterminer | PreDeterminer ;
|
Position = PostDeterminer | PreDeterminer ;
|
||||||
Position1 = Post | Pre;
|
Position1 = Post | Pre;
|
||||||
@@ -430,7 +430,7 @@ oper
|
|||||||
-- This involved only change of the personal pronouns as for selfstanding pronouns.
|
-- This involved only change of the personal pronouns as for selfstanding pronouns.
|
||||||
-- How can it be done without code repeation?
|
-- How can it be done without code repeation?
|
||||||
mkPredetPref :Agreement -> Str = \a -> case a of {
|
mkPredetPref :Agreement -> Str = \a -> case a of {
|
||||||
AgMUBAP1 n => mkClitics "ny" "twe" n;
|
AgMUBAP1 n => mkClitics "ny" "itwe" n;
|
||||||
--AgMUBAP1 Pl => "aba" ;
|
--AgMUBAP1 Pl => "aba" ;
|
||||||
AgMUBAP2 n => mkClitics "we" "mwe" n; --probably an error check your grammar book
|
AgMUBAP2 n => mkClitics "we" "mwe" n; --probably an error check your grammar book
|
||||||
--AgMUBAP2 Pl => "aba" ;
|
--AgMUBAP2 Pl => "aba" ;
|
||||||
@@ -694,6 +694,40 @@ oper
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
-- Genetive Adjectival suffix: Possessive my book= ekitabo kyagye
|
||||||
|
mkGenAdjSuffix : Agreement -> Str =\a -> case a of {
|
||||||
|
AgMUBAP1 n => mkClitics "ngye" "itu" n;
|
||||||
|
--AgMUBAP1 Pl => "aba" ;
|
||||||
|
AgMUBAP2 n => mkClitics "we" "nyu" n; --probably an error check your grammar book
|
||||||
|
--AgMUBAP2 Pl => "aba" ;
|
||||||
|
AgP3 n MU_BA => mkClitics "e" "bo" n;
|
||||||
|
--AgP3 Pl MU_BA => "aba" ;
|
||||||
|
AgP3 Pl ZERO_BU => mkClitic "bwo" ;
|
||||||
|
AgP3 Sg BU_MA => mkClitic "bwo" ;
|
||||||
|
AgP3 Pl (KA_BU | RU_BU) => mkClitic "bwo" ;
|
||||||
|
AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "byo" ;
|
||||||
|
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => mkClitic "go";
|
||||||
|
AgP3 (Sg | Pl) HA => mkClitic "ho" ; -- of place HA
|
||||||
|
AgP3 (Sg | Pl) MU => mkClitic "mwo" ; -- of place MU
|
||||||
|
AgP3 (Sg | Pl) KU => mkClitic "yo" ; -- of place KU
|
||||||
|
AgP3 Sg (I_ZERO | I_MA | RI_MA) =>mkClitic "ryo" ;
|
||||||
|
AgP3 Sg (KA_ZERO | KA_BU) =>mkClitic "ko" ;
|
||||||
|
AgP3 Sg KI_BI => mkClitic "kyo" ;
|
||||||
|
AgP3 Sg (KU_ZERO | KU_MA) => mkClitic "kwo" ;
|
||||||
|
AgP3 Sg (MU_MI | MU_ZERO) => mkClitic "gwo" ;
|
||||||
|
AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => mkClitic "rwo" ;
|
||||||
|
AgP3 Pl (ZERO_TU | KA_TU) =>mkClitic "two" ;
|
||||||
|
AgP3 Sg (ZERO_ZERO | N_N) =>mkClitic "yo" ;
|
||||||
|
AgP3 Pl ZERO_MI =>mkClitic "yo" ;
|
||||||
|
AgP3 Pl MU_MI => mkClitic "yo";
|
||||||
|
AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) =>mkClitic "zo" ;
|
||||||
|
AgP3 Sg GU_GA => mkClitic "gwo" ;
|
||||||
|
AgP3 Pl GU_GA => mkClitic "go" ;
|
||||||
|
_ => mkClitic "Error mkGenAdjSuffix" -- error checking for any case not catered for
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
mkRPs : RCase => Agreement =>Str = table{
|
mkRPs : RCase => Agreement =>Str = table{
|
||||||
RSubj => table {
|
RSubj => table {
|
||||||
AgMUBAP1 Sg => mkClitic "o";
|
AgMUBAP1 Sg => mkClitic "o";
|
||||||
@@ -726,7 +760,7 @@ oper
|
|||||||
_ => mkClitic "XXXThat" -- error checking for any case not catered for
|
_ => mkClitic "XXXThat" -- error checking for any case not catered for
|
||||||
|
|
||||||
};
|
};
|
||||||
RObj => table {
|
_ => table {
|
||||||
AgMUBAP1 Sg => mkClitic "ou";
|
AgMUBAP1 Sg => mkClitic "ou";
|
||||||
AgMUBAP1 Pl => mkClitic "abu" ; --note: abu or abi is used. GF does not allow free variation. However, abu is more natural
|
AgMUBAP1 Pl => mkClitic "abu" ; --note: abu or abi is used. GF does not allow free variation. However, abu is more natural
|
||||||
AgMUBAP2 Sg => mkClitic "ou"; --probably an error check your grammar book
|
AgMUBAP2 Sg => mkClitic "ou"; --probably an error check your grammar book
|
||||||
@@ -809,17 +843,16 @@ oper
|
|||||||
-- all noun classes have pronouns in the third person
|
-- all noun classes have pronouns in the third person
|
||||||
--This is a big problem, probably we create our own abstract syntax
|
--This is a big problem, probably we create our own abstract syntax
|
||||||
{-
|
{-
|
||||||
TO-DO: DONE but not tested yet. Here I will simply use one
|
TO-DO: DONE but not tested yet. I have attempted to account for all other classes by using a test.
|
||||||
class KI_BI
|
|
||||||
-}
|
-}
|
||||||
Pronoun : Type ={s : Case => Str ; agr : Agreement} ;
|
Pronoun : Type ={s : Case => Str; third:Agreement => Case=>Str; agr:AgrExist} ;
|
||||||
mkPron : Str -> Str -> Agreement->Pronoun =\nom,acc, a ->
|
{-
|
||||||
|
mkPron : Str -> Str ->Pronoun =\nom,acc, ->
|
||||||
{
|
{
|
||||||
s = table {Nom => nom; Acc => acc};
|
s = table {Nom => nom; Acc => acc};
|
||||||
agr = a;
|
agr = a;
|
||||||
};
|
};
|
||||||
|
-}
|
||||||
|
|
||||||
|
|
||||||
PolTemp = {s : Agreement => Str * Str ; end : Str} ; -- a tupple of two strings
|
PolTemp = {s : Agreement => Str * Str ; end : Str} ; -- a tupple of two strings
|
||||||
|
|
||||||
@@ -1050,6 +1083,8 @@ oper
|
|||||||
--Concatenates two strings at runtime without spaces
|
--Concatenates two strings at runtime without spaces
|
||||||
|
|
||||||
glue: Str -> Str ->Str =\ x, y -> x ++ BIND ++ y;
|
glue: Str -> Str ->Str =\ x, y -> x ++ BIND ++ y;
|
||||||
|
--Concatenates two strings for the genetive case
|
||||||
|
glueGen: Agreement ->Str = \ a -> mkGenPrepNoIVClitic a ++ BIND ++ mkGenAdjSuffix a;
|
||||||
|
|
||||||
--Number determining element
|
--Number determining element
|
||||||
Numer : Type = { s: Str ; n : Number};
|
Numer : Type = { s: Str ; n : Number};
|
||||||
|
|||||||
@@ -23,13 +23,17 @@ lin
|
|||||||
few_Det = {s="kye"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=PostDeterminer; doesAgree = False} ;
|
few_Det = {s="kye"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=PostDeterminer; doesAgree = False} ;
|
||||||
many_Det ={s="ingi"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=PostDeterminer; doesAgree = False} ;
|
many_Det ={s="ingi"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=PostDeterminer; doesAgree = False} ;
|
||||||
|
|
||||||
i_Pron = mkPron "nyowe" "nyowe" (AgMUBAP1 Sg);
|
i_Pron = {s = table{Gen => glueGen (AgMUBAP1 Sg); _=> mkSStand (AgMUBAP1 Sg)}; third = \\_,_=>[]; agr = AgrYes (AgMUBAP1 Sg)};--mkPron "nyowe" "nyowe" (AgMUBAP1 Sg);
|
||||||
youSg_Pron = mkPron "iwe" "we" (AgMUBAP2 Sg);
|
youSg_Pron = {s = table{Gen => glueGen (AgMUBAP2 Sg); _=>mkSStand (AgMUBAP2 Sg)}; third = \\_,_=>[]; agr = AgrYes(AgMUBAP2 Sg)};--mkPron "iwe" "we" (AgMUBAP2 Sg);
|
||||||
he_Pron, she_Pron = mkPron "uwe" "uwe" (AgP3 Sg MU_BA);
|
he_Pron, she_Pron = {s = table{Gen => glueGen (AgP3 Sg MU_BA); _=>mkSStand (AgP3 Sg MU_BA)}; third = \\_,_=>[]; agr = AgrYes(AgP3 Sg MU_BA)};--mkPron "uwe" "uwe" (AgP3 Sg MU_BA);
|
||||||
we_Pron = mkPron "itwe" "itwe" (AgMUBAP1 Pl);
|
we_Pron = {s = table{Gen => glueGen (AgMUBAP1 Pl); _=>mkSStand (AgMUBAP1 Pl)}; third = \\_,_=>[]; agr = AgrYes (AgMUBAP1 Pl)}; --mkPron "itwe" "itwe" (AgMUBAP1 Pl);
|
||||||
youPl_Pron = mkPron "imwe" "imwe" (AgMUBAP2 Pl);
|
youPl_Pron = {s = table{Gen => glueGen (AgMUBAP2 Pl); _=>mkSStand (AgMUBAP2 Pl)}; third = \\_,_=>[]; agr =AgrYes (AgMUBAP2 Pl)};--mkPron "imwe" "imwe" (AgMUBAP2 Pl); they_Pron = {s = table{Gen => glueGen AgP3 Pl MU_BA; _=>mkSStand (AgP3 Pl MU_BA)}; third = \\_,_=>[]; itP3Required=False};--mkPron "bo" "bo" (AgP3 Pl MU_BA);
|
||||||
they_Pron = mkPron "bo" "bo" (AgP3 Pl MU_BA);
|
-- default implementation Using KI_BI. Use mkmkGenPrepNoIVClitic and
|
||||||
it_Pron = mkPron "kyo" "kyo" (AgP3 Sg KI_BI); -- should form an it_Pron_NClass in extra module
|
it_Pron = {
|
||||||
|
s = \\_=>[];
|
||||||
|
third = \\agr => table{Gen =>glueGen agr; _ => mkSStand agr};
|
||||||
|
agr = AgrNo
|
||||||
|
}; --mkPron "kyo" "kyo" (AgP3 Sg KI_BI); -- should form an it_Pron_NClass in extra module
|
||||||
|
|
||||||
behind_Prep ={s="enyuma ya"};
|
behind_Prep ={s="enyuma ya"};
|
||||||
between_Prep = {s="hagati ya"};
|
between_Prep = {s="hagati ya"};
|
||||||
@@ -41,7 +45,7 @@ lin
|
|||||||
|
|
||||||
--na --please this string varies with vowels use combine_morphemes or
|
--na --please this string varies with vowels use combine_morphemes or
|
||||||
--combine_words when using it.
|
--combine_words when using it.
|
||||||
with_Prep = mkPrep "na" [];
|
with_Prep = mkPrep "na" [];
|
||||||
|
|
||||||
from_Prep ={s="kuruga"};
|
from_Prep ={s="kuruga"};
|
||||||
under_Prep = {s="hansi ya"};
|
under_Prep = {s="hansi ya"};
|
||||||
@@ -91,7 +95,8 @@ with_Prep = mkPrep "na" [];
|
|||||||
};
|
};
|
||||||
|
|
||||||
have_V2 ={s= "ine"; pres=[]; perf =[]; morphs = mkVerbMorphs; comp = []; isRegular=False}; --: V2 ;
|
have_V2 ={s= "ine"; pres=[]; perf =[]; morphs = mkVerbMorphs; comp = []; isRegular=False}; --: V2 ;
|
||||||
{-
|
|
||||||
|
{-
|
||||||
All Predeterminers are given here.
|
All Predeterminers are given here.
|
||||||
Initial analysis shows that
|
Initial analysis shows that
|
||||||
a) They appear after the noun phrase but some may be multi-word expressions for a single word in eblish.
|
a) They appear after the noun phrase but some may be multi-word expressions for a single word in eblish.
|
||||||
@@ -109,45 +114,47 @@ with_Prep = mkPrep "na" [];
|
|||||||
1. All these chickens
|
1. All these chickens
|
||||||
2. once a day
|
2. once a day
|
||||||
3. only the man
|
3. only the man
|
||||||
-}
|
|
||||||
all_Predet = {s = "òna"; s2 = []; isMWE = False; isInflected =True};
|
|
||||||
only_Predet = {s = "nka"; s2 = []; isMWE = False; isInflected =True};
|
|
||||||
{-
|
|
||||||
-- how do we deal with superlatives. There seems to be no distinction between countable
|
|
||||||
-- and uncountable when it comes to superlatioves
|
|
||||||
-}
|
|
||||||
most_Predet = {s = "rikukíra"; s2 = "îngi"; isMWE = True; isInflected =True};
|
|
||||||
not_Predet = {s = "ti"; s2 = []; isMWE = False; isInflected =False};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{-Section for Adverbs-}
|
|
||||||
always_AdV = {s = "obutóòsha"; agr = AgrNo};
|
|
||||||
everywhere_Adv = {s = "hóòna"; agr = AgrNo}; -- adverb of place.
|
|
||||||
here_Adv = {s = "hanu"; agr = AgrNo};
|
|
||||||
{-End of Adverbs Adverbs-}
|
|
||||||
|
|
||||||
{-Begining of Quantifiers-}
|
|
||||||
{-
|
|
||||||
For DetQuant function to work, we need sample quatitifiers in Runynakore. Proximal, Medial, Distant
|
|
||||||
We need a table to provide all of these.
|
|
||||||
-}
|
-}
|
||||||
that_Quant = {s=[]; s2 = mkThat; doesAgree = True}; --: Quant ;
|
all_Predet = {s = "òna"; s2 = []; isMWE = False; isInflected =True};
|
||||||
this_Quant = {s=[]; s2 = mkThis; doesAgree = True}; --: Quant ;
|
only_Predet = {s = "nka"; s2 = []; isMWE = False; isInflected =True};
|
||||||
--these_Quant = {s =[]; s2 = mkThese; doesAgree = True};
|
{-
|
||||||
--those_Quant = {s =[]; s2 = mkThose; doesAgree = True};
|
-- how do we deal with superlatives. There seems to be no distinction between countable
|
||||||
no_Quant = {s ="tihariho"; s2 =\\_=> []; doesAgree = False};--: Quant ;
|
-- and uncountable when it comes to superlatioves
|
||||||
{-End of Quantifiers-}
|
-}
|
||||||
|
most_Predet = {s = "rikukíra"; s2 = "îngi"; isMWE = True; isInflected =True};
|
||||||
|
not_Predet = {s = "ti"; s2 = []; isMWE = False; isInflected =False};
|
||||||
|
|
||||||
{-Begining of verb-phrase-complement verb VV-} -- A verb whose complement is a verb phrase
|
|
||||||
|
|
||||||
|
|
||||||
|
{-Section for Adverbs-}
|
||||||
|
always_AdV = {s = "obutóòsha"; agr = AgrNo};
|
||||||
|
everywhere_Adv = {s = "hóòna"; agr = AgrNo}; -- adverb of place.
|
||||||
|
here_Adv = {s = "hanu"; agr = AgrNo};
|
||||||
|
{-End of Adverbs Adverbs-}
|
||||||
|
|
||||||
|
{-Begining of Quantifiers-}
|
||||||
|
|
||||||
|
--For DetQuant function to work, we need sample quatitifiers in Runynakore. Proximal, Medial, Distant
|
||||||
|
--We need a table to provide all of these.
|
||||||
|
|
||||||
|
that_Quant = {s={s = \\_=>[]; third =\\_,_=>[]; agr = AgrNo}; s2 = mkThat; doesAgree = True; isPron = False}; --: Quant ;
|
||||||
|
this_Quant = {s={s = \\_=>[]; third =\\_,_=>[]; agr = AgrNo}; s2 = mkThis; doesAgree = True; isPron = False}; --: Quant ;
|
||||||
|
|
||||||
|
no_Quant = {s ={s=\\_=>"tihariho";third =\\_,_=>[]; agr=AgrNo}; s2 =\\_=> []; doesAgree = False; isPron = False};--: Quant ;
|
||||||
|
{-End of Quantifiers-}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{-Begining of verb-phrase-complement verb VV-} -- A verb whose complement is a verb phrase
|
||||||
--can8know_VV : VV ; -- can (capacity)
|
--can8know_VV : VV ; -- can (capacity)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{-End of verb-phrase-complement verb -}
|
{-End of verb-phrase-complement verb -}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
130
src/rukiga/StructuralCggClean.gf
Normal file
130
src/rukiga/StructuralCggClean.gf
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
--# -path=.:../prelude:../abstract:../common
|
||||||
|
|
||||||
|
concrete StructuralCgg of Structural = CatCgg **
|
||||||
|
open ResCgg, ParadigmsCgg, (C = ConstructX), Prelude in {
|
||||||
|
|
||||||
|
|
||||||
|
lin
|
||||||
|
--Determiner : Type = {s : Str ; s2: Agreement=>Str; ntype : NounState ; num : Number ; pos : Position; doesAgree: Bool };
|
||||||
|
a_Det = {s =[] ; s2 = \\_ => []; ntype = Complete; num = Sg; pos = PreDeterminer; doesAgree = False}; --: Det ; indefinite singular ---s
|
||||||
|
aPl_Det = {s =[]; s2= \\_ => []; ntype = Complete; num = Pl; pos = PreDeterminer; doesAgree = False}; -- : Det ;indefinite plural ---s
|
||||||
|
the_Det = {s =[]; s2= \\_ => []; ntype = Complete; num = Sg; pos = PreDeterminer; doesAgree = False}; --: Det ; -- definite singular ---s thePl_Det = {s =[]; ntype = Complete; num = Pl; pos = PreDeterminer}; --: Det ;definite plural ---s
|
||||||
|
|
||||||
|
every_Det = {s ="buri"; s2 = \\_ => []; ntype=Incomplete; num=Sg; pos=PreDeterminer; doesAgree = False} ;
|
||||||
|
few_Det = {s="kye"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=PostDeterminer; doesAgree = False} ;
|
||||||
|
many_Det ={s="ingi"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=PostDeterminer; doesAgree = False} ;
|
||||||
|
|
||||||
|
behind_Prep ={s="enyuma ya"};
|
||||||
|
between_Prep = {s="hagati ya"};
|
||||||
|
to_Prep ={s="aha"};
|
||||||
|
-- several words depending on use omuri??
|
||||||
|
in_Prep = mkPrep "omu" "omuri";
|
||||||
|
--aha-ri Kamukuzi??? works for places
|
||||||
|
on_Prep = mkPrep "aha" "ahari";
|
||||||
|
|
||||||
|
with_Prep = mkPrep "na" [];
|
||||||
|
|
||||||
|
from_Prep ={s="kuruga"};
|
||||||
|
under_Prep = {s="hansi ya"};
|
||||||
|
|
||||||
|
{-
|
||||||
|
--there are several and i.e.
|
||||||
|
-- na (two nouns, 2 Noun Phrases, 2 Pronouns, 2 relative subject clauses, )
|
||||||
|
--kandi (clauses having a commonality of subjects, object or tense)
|
||||||
|
--the best structure is a table
|
||||||
|
--mkConjunction "na" "kandi" and_Conj ;
|
||||||
|
-}
|
||||||
|
and_Conj = {
|
||||||
|
s = table { AConj Other => "kandi"; _ => "na"};
|
||||||
|
s2 =[];
|
||||||
|
n = Pl
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{-
|
||||||
|
|
||||||
|
--TODO: Look at the grammar books by Mpairwe & Kahangi Pg 155
|
||||||
|
--and investigate or to find out its arguments but for now
|
||||||
|
--I will assume nari works on all types of
|
||||||
|
--ConjArg (Conjunction Arguments)
|
||||||
|
|
||||||
|
--nari is the general or
|
||||||
|
|
||||||
|
--These are candidates for Extra module if they are not specific
|
||||||
|
--to the type of argument.
|
||||||
|
--nînga for Runynakore and
|
||||||
|
|
||||||
|
--nainga for rukiga
|
||||||
|
-}
|
||||||
|
|
||||||
|
|
||||||
|
or_Conj = {
|
||||||
|
s = \\ _ => "nari";
|
||||||
|
s2 =[];
|
||||||
|
n = Sg
|
||||||
|
};
|
||||||
|
|
||||||
|
have_V2 ={s= "ine"; pres=[]; perf =[]; morphs = mkVerbMorphs; comp = []; isRegular=False}; --: V2 ;
|
||||||
|
|
||||||
|
i_Pron = {s = table{Gen => glueGen (AgMUBAP1 Sg); _=> mkSStand (AgMUBAP1 Sg)}; third = \\_,_=>[]; itP3Required=False};--mkPron "nyowe" "nyowe" (AgMUBAP1 Sg);
|
||||||
|
youSg_Pron = {s = table{Gen => glueGen (AgMUBAP2 Sg); _=>mkSStand (AgMUBAP2 Sg)}; third = \\_,_=>[]; itP3Required=False};--mkPron "iwe" "we" (AgMUBAP2 Sg);
|
||||||
|
he_Pron, she_Pron = {s = table{Gen => glueGen (AgP3 Sg MU_BA); _=>mkSStand (AgP3 Sg MU_BA)}; third = \\_,_=>[]; itP3Required=False};--mkPron "uwe" "uwe" (AgP3 Sg MU_BA);
|
||||||
|
we_Pron = {s = table{Gen => glueGen (AgMUBAP1 Pl); _=>mkSStand (AgMUBAP1 Pl)}; third = \\_,_=>[]; itP3Required=False}; --mkPron "itwe" "itwe" (AgMUBAP1 Pl);
|
||||||
|
youPl_Pron = {s = table{Gen => glueGen (AgMUBAP2 Pl); _=>mkSStand (AgMUBAP2 Pl)}; third = \\_,_=>[]; itP3Required=False};--mkPron "imwe" "imwe" (AgMUBAP2 Pl); they_Pron = {s = table{Gen => glueGen AgP3 Pl MU_BA; _=>mkSStand (AgP3 Pl MU_BA)}; third = \\_,_=>[]; itP3Required=False};--mkPron "bo" "bo" (AgP3 Pl MU_BA);
|
||||||
|
-- default implementation Using KI_BI. Use mkmkGenPrepNoIVClitic and
|
||||||
|
it_Pron = {s = \\_=>[]; third = table{Gen => \\agr => glueGen agr; _=> \\agr => mkSStand agr}; itP3Required=True}; --mkPron "kyo" "kyo" (AgP3 Sg KI_BI); -- should form an it_Pron_NClass in extra module
|
||||||
|
|
||||||
|
|
||||||
|
{-
|
||||||
|
All Predeterminers are given here.
|
||||||
|
Initial analysis shows that
|
||||||
|
a) They appear after the noun phrase but some may be multi-word expressions for a single word in eblish.
|
||||||
|
b) They appear to agree with the noun class particle. But nothing in the literature states about
|
||||||
|
their morphological structure. The stems can be guessed by removing the two letter
|
||||||
|
suffix at the begining of the word. However, there are exceptions such as "not" which is not
|
||||||
|
inflected according to noun class
|
||||||
|
c) A table of concords must be built to accomodate every instance and this can only be done
|
||||||
|
using an analysis of some of the words in the dictionary(Mapirwe and Kahagi).
|
||||||
|
I am incluned to say use of the table of self-standing pronouns is sufficient.
|
||||||
|
d) An investigation of the tone systems would also be worthwhile.
|
||||||
|
|
||||||
|
|
||||||
|
Example sentences:
|
||||||
|
1. All these chickens
|
||||||
|
2. once a day
|
||||||
|
3. only the man
|
||||||
|
-}
|
||||||
|
all_Predet = {s = "òna"; s2 = []; isMWE = False; isInflected =True};
|
||||||
|
only_Predet = {s = "nka"; s2 = []; isMWE = False; isInflected =True};
|
||||||
|
{-
|
||||||
|
-- how do we deal with superlatives. There seems to be no distinction between countable
|
||||||
|
-- and uncountable when it comes to superlatioves
|
||||||
|
-}
|
||||||
|
most_Predet = {s = "rikukíra"; s2 = "îngi"; isMWE = True; isInflected =True};
|
||||||
|
not_Predet = {s = "ti"; s2 = []; isMWE = False; isInflected =False};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Adverbs
|
||||||
|
always_AdV = {s = "obutóòsha"; agr = AgrNo};
|
||||||
|
everywhere_Adv = {s = "hóòna"; agr = AgrNo}; -- adverb of place.
|
||||||
|
here_Adv = {s = "hanu"; agr = AgrNo};
|
||||||
|
|
||||||
|
|
||||||
|
--Quantifiers
|
||||||
|
|
||||||
|
that_Quant = {s={s=\\_ =>[]; agr=AgrNo}; s2 = mkThat; doesAgree = True; isPron = False}; --: Quant ;
|
||||||
|
this_Quant = {s={s=\\_ =>[]; agr=AgrNo}; s2 = mkThis; doesAgree = True; isPron = False}; --: Quant ;
|
||||||
|
|
||||||
|
no_Quant = {s ={s=\\_=>"tihariho";agr=AgrNo}; s2 =\\_=> []; doesAgree = False; isPron = False};--: Quant ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
298
src/rukiga/StructuralCggOld.gf
Normal file
298
src/rukiga/StructuralCggOld.gf
Normal file
@@ -0,0 +1,298 @@
|
|||||||
|
--# -path=.:../prelude:../abstract:../common
|
||||||
|
|
||||||
|
concrete StructuralCggOld of Structural = CatCgg **
|
||||||
|
open ResCgg, ParadigmsCgg, (C = ConstructX), Prelude in {
|
||||||
|
|
||||||
|
|
||||||
|
{-variants
|
||||||
|
NOTE: Please add them to the abstract syntax, ask aarne
|
||||||
|
or creat you own abstract Lexicon which inherits from the
|
||||||
|
standard one. See how english does it. i.e. use DictCggAbs.gf for the funs.
|
||||||
|
and DictCgg.gf for the lins.
|
||||||
|
|
||||||
|
Actually use and extend module for Structural
|
||||||
|
-}
|
||||||
|
|
||||||
|
lin
|
||||||
|
--Determiner : Type = {s : Str ; s2: Agreement=>Str; ntype : NounState ; num : Number ; pos : Position; doesAgree: Bool };
|
||||||
|
a_Det = {s =[] ; s2 = \\_ => []; ntype = Complete; num = Sg; pos = PreDeterminer; doesAgree = False}; --: Det ; indefinite singular ---s
|
||||||
|
aPl_Det = {s =[]; s2= \\_ => []; ntype = Complete; num = Pl; pos = PreDeterminer; doesAgree = False}; -- : Det ;indefinite plural ---s
|
||||||
|
the_Det = {s =[]; s2= \\_ => []; ntype = Complete; num = Sg; pos = PreDeterminer; doesAgree = False}; --: Det ; -- definite singular ---s thePl_Det = {s =[]; ntype = Complete; num = Pl; pos = PreDeterminer}; --: Det ;definite plural ---s
|
||||||
|
|
||||||
|
every_Det = {s ="buri"; s2 = \\_ => []; ntype=Incomplete; num=Sg; pos=PreDeterminer; doesAgree = False} ;
|
||||||
|
few_Det = {s="kye"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=PostDeterminer; doesAgree = False} ;
|
||||||
|
many_Det ={s="ingi"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=PostDeterminer; doesAgree = False} ;
|
||||||
|
|
||||||
|
i_Pron = {s = table{Gen => glueGen (AgMUBAP1 Sg); _=> mkSStand (AgMUBAP1 Sg)}; third = \\_,_=>[]; itP3Required=False};--mkPron "nyowe" "nyowe" (AgMUBAP1 Sg);
|
||||||
|
youSg_Pron = {s = table{Gen => glueGen (AgMUBAP2 Sg); _=>mkSStand (AgMUBAP2 Sg)}; third = \\_,_=>[]; itP3Required=False};--mkPron "iwe" "we" (AgMUBAP2 Sg);
|
||||||
|
--he_Pron, she_Pron = {s = table{Gen => glueGen (AgP3 Sg MU_BA); _=>mkSStand (AgP3 Sg MU_BA)}; third = \\_,_=>[]; itP3Required=False};--mkPron "uwe" "uwe" (AgP3 Sg MU_BA);
|
||||||
|
--we_Pron = {s = table{Gen => glueGen AgMUBAP1 Pl); _=>mkSStand (AgMUBAP1 Pl)}; third = \\_,_=>[]; itP3Required=False}; --mkPron "itwe" "itwe" (AgMUBAP1 Pl);
|
||||||
|
--youPl_Pron = {s = table{Gen => glueGen (AgMUBAP2 Pl); _=>mkSStand (AgMUBAP2 Pl)}; third = \\_,_=>[]; itP3Required=False};--mkPron "imwe" "imwe" (AgMUBAP2 Pl);
|
||||||
|
--they_Pron = {s = table{Gen => glueGen (AgP3 Pl MU_BA); _=>mkSStand (AgP3 Pl MU_BA)}; third = \\_,_=>[]; itP3Required=False};--mkPron "bo" "bo" (AgP3 Pl MU_BA);
|
||||||
|
|
||||||
|
--default implementation Using KI_BI. Use mkmkGenPrepNoIVClitic and
|
||||||
|
--it_Pron = {s = \\_=>[]; third = table{Gen => \\agr => glueGen agr; _=>\\agr => mkSStand agr}; itP3Required=True}; --mkPron "kyo" "kyo" (AgP3 Sg KI_BI); -- should form an it_Pron_NClass in extra module
|
||||||
|
|
||||||
|
behind_Prep ={s="enyuma ya"};
|
||||||
|
between_Prep = {s="hagati ya"};
|
||||||
|
to_Prep ={s="aha"};
|
||||||
|
-- several words depending on use omuri??
|
||||||
|
in_Prep = mkPrep "omu" "omuri";
|
||||||
|
--aha-ri Kamukuzi??? works for places
|
||||||
|
on_Prep = mkPrep "aha" "ahari";
|
||||||
|
|
||||||
|
--na --please this string varies with vowels use combine_morphemes or
|
||||||
|
--combine_words when using it.
|
||||||
|
with_Prep = mkPrep "na" [];
|
||||||
|
|
||||||
|
from_Prep ={s="kuruga"};
|
||||||
|
under_Prep = {s="hansi ya"};
|
||||||
|
|
||||||
|
---Structural
|
||||||
|
{-
|
||||||
|
--there are several and i.e.
|
||||||
|
-- na (two nouns, 2 Noun Phrases, 2 Pronouns, 2 relative subject clauses, )
|
||||||
|
--kandi (clauses having a commonality of subjects, object or tense)
|
||||||
|
--the best structure is a table
|
||||||
|
--mkConjunction "na" "kandi" and_Conj ;
|
||||||
|
-}
|
||||||
|
and_Conj = {
|
||||||
|
s = table {
|
||||||
|
AConj Other => "kandi";
|
||||||
|
_ => "na"
|
||||||
|
};
|
||||||
|
|
||||||
|
s2 =[];
|
||||||
|
n = Pl
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{-
|
||||||
|
|
||||||
|
TODO: Look at the grammar books by Mpairwe & Kahangi Pg 155
|
||||||
|
and investigate or to find out its arguments but for now
|
||||||
|
I will assume nari works on all types of
|
||||||
|
ConjArg (Conjunction Arguments)
|
||||||
|
|
||||||
|
nari is the general or
|
||||||
|
|
||||||
|
These are candidates for Extra module if they are not specific
|
||||||
|
to the type of argument.
|
||||||
|
nînga for Runynakore and
|
||||||
|
|
||||||
|
nainga for rukiga
|
||||||
|
-}
|
||||||
|
|
||||||
|
|
||||||
|
or_Conj = {
|
||||||
|
s = \\ _ => "nari";
|
||||||
|
s2 =[];
|
||||||
|
n = Sg
|
||||||
|
};
|
||||||
|
|
||||||
|
have_V2 ={s= "ine"; pres=[]; perf =[]; morphs = mkVerbMorphs; comp = []; isRegular=False}; --: V2 ;
|
||||||
|
|
||||||
|
{-
|
||||||
|
All Predeterminers are given here.
|
||||||
|
Initial analysis shows that
|
||||||
|
a) They appear after the noun phrase but some may be multi-word expressions for a single word in eblish.
|
||||||
|
b) They appear to agree with the noun class particle. But nothing in the literature states about
|
||||||
|
their morphological structure. The stems can be guessed by removing the two letter
|
||||||
|
suffix at the begining of the word. However, there are exceptions such as "not" which is not
|
||||||
|
inflected according to noun class
|
||||||
|
c) A table of concords must be built to accomodate every instance and this can only be done
|
||||||
|
using an analysis of some of the words in the dictionary(Mapirwe and Kahagi).
|
||||||
|
I am incluned to say use of the table of self-standing pronouns is sufficient.
|
||||||
|
d) An investigation of the tone systems would also be worthwhile.
|
||||||
|
|
||||||
|
|
||||||
|
Example sentences:
|
||||||
|
1. All these chickens
|
||||||
|
2. once a day
|
||||||
|
3. only the man
|
||||||
|
-}
|
||||||
|
all_Predet = {s = "òna"; s2 = []; isMWE = False; isInflected =True};
|
||||||
|
only_Predet = {s = "nka"; s2 = []; isMWE = False; isInflected =True};
|
||||||
|
{-
|
||||||
|
-- how do we deal with superlatives. There seems to be no distinction between countable
|
||||||
|
-- and uncountable when it comes to superlatioves
|
||||||
|
-}
|
||||||
|
most_Predet = {s = "rikukíra"; s2 = "îngi"; isMWE = True; isInflected =True};
|
||||||
|
not_Predet = {s = "ti"; s2 = []; isMWE = False; isInflected =False};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{-Section for Adverbs-}
|
||||||
|
always_AdV = {s = "obutóòsha"; agr = AgrNo};
|
||||||
|
everywhere_Adv = {s = "hóòna"; agr = AgrNo}; -- adverb of place.
|
||||||
|
here_Adv = {s = "hanu"; agr = AgrNo};
|
||||||
|
{-End of Adverbs Adverbs-}
|
||||||
|
|
||||||
|
{-Begining of Quantifiers-}
|
||||||
|
|
||||||
|
--For DetQuant function to work, we need sample quatitifiers in Runynakore. Proximal, Medial, Distant
|
||||||
|
--We need a table to provide all of these.
|
||||||
|
|
||||||
|
that_Quant = {s={s=\\_ =>[]; agr=AgrNo}; s2 = mkThat; doesAgree = True; isPron = False}; --: Quant ;
|
||||||
|
this_Quant = {s={s=\\_ =>[]; agr=AgrNo}; s2 = mkThis; doesAgree = True; isPron = False}; --: Quant ;
|
||||||
|
--these_Quant = {s =[]; s2 = mkThese; doesAgree = True};
|
||||||
|
--those_Quant = {s =[]; s2 = mkThose; doesAgree = True};
|
||||||
|
no_Quant = {s ={s=\\_=>"tihariho";agr=AgrNo}; s2 =\\_=> []; doesAgree = False; isPron = False};--: Quant ;
|
||||||
|
{-End of Quantifiers-}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{-Begining of verb-phrase-complement verb VV-} -- A verb whose complement is a verb phrase
|
||||||
|
--can8know_VV : VV ; -- can (capacity)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{-End of verb-phrase-complement verb -}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{-
|
||||||
|
--1 Structural: Structural Words
|
||||||
|
--
|
||||||
|
-- Here we have some words belonging to closed classes and appearing
|
||||||
|
-- in all languages we have considered.
|
||||||
|
-- Sometimes more distinctions are needed, e.g. $we_Pron$ in Spanish
|
||||||
|
-- should be replaced by masculine and feminine variants, found in
|
||||||
|
-- [``ExtendSpa`` ../spanish/ExtendSpa.gf].
|
||||||
|
|
||||||
|
abstract Structural = Cat ** {
|
||||||
|
|
||||||
|
fun
|
||||||
|
|
||||||
|
-- This is an alphabetical list of structural words
|
||||||
|
|
||||||
|
above_Prep : Prep ;
|
||||||
|
after_Prep : Prep ;
|
||||||
|
all_Predet : Predet ;
|
||||||
|
almost_AdA : AdA ;
|
||||||
|
almost_AdN : AdN ;
|
||||||
|
although_Subj : Subj ;
|
||||||
|
always_AdV : AdV ;
|
||||||
|
and_Conj : Conj ;
|
||||||
|
because_Subj : Subj ;
|
||||||
|
before_Prep : Prep ;
|
||||||
|
behind_Prep : Prep ;
|
||||||
|
between_Prep : Prep ;
|
||||||
|
both7and_DConj : Conj ; -- both...and
|
||||||
|
---b both7and_DConj : DConj ;
|
||||||
|
but_PConj : PConj ;
|
||||||
|
by8agent_Prep : Prep ; -- by (agent)
|
||||||
|
by8means_Prep : Prep ; -- by (means of)
|
||||||
|
can8know_VV : VV ; -- can (capacity)
|
||||||
|
can_VV : VV ; -- can (possibility)
|
||||||
|
during_Prep : Prep ;
|
||||||
|
either7or_DConj : Conj ; -- either...or
|
||||||
|
---b either7or_DConj : DConj ;
|
||||||
|
every_Det : Det ;
|
||||||
|
everybody_NP : NP ; -- everybody
|
||||||
|
everything_NP : NP ;
|
||||||
|
everywhere_Adv : Adv ; --ha-ona =hoona
|
||||||
|
--- first_Ord : Ord ; DEPRECATED
|
||||||
|
few_Det : Det ;
|
||||||
|
for_Prep : Prep ;
|
||||||
|
from_Prep : Prep ;
|
||||||
|
he_Pron : Pron ;
|
||||||
|
here_Adv : Adv ; --hanu
|
||||||
|
|
||||||
|
|
||||||
|
here7to_Adv : Adv ; -- to here
|
||||||
|
here7from_Adv : Adv ; -- from here
|
||||||
|
how_IAdv : IAdv ;
|
||||||
|
how8many_IDet : IDet ;
|
||||||
|
how8much_IAdv : IAdv ;
|
||||||
|
i_Pron : Pron ;
|
||||||
|
if_Subj : Subj ;
|
||||||
|
in8front_Prep : Prep ; -- in front of
|
||||||
|
in_Prep : Prep ;
|
||||||
|
it_Pron : Pron ;
|
||||||
|
less_CAdv : CAdv ;
|
||||||
|
many_Det : Det ;
|
||||||
|
more_CAdv : CAdv ;
|
||||||
|
most_Predet : Predet ;
|
||||||
|
much_Det : Det ;
|
||||||
|
must_VV : VV ;
|
||||||
|
---b no_Phr : Phr ;
|
||||||
|
no_Utt : Utt ;
|
||||||
|
on_Prep : Prep ;
|
||||||
|
--- one_Quant : QuantSg ; DEPRECATED
|
||||||
|
only_Predet : Predet ;
|
||||||
|
or_Conj : Conj ;
|
||||||
|
otherwise_PConj : PConj ;
|
||||||
|
part_Prep : Prep ;
|
||||||
|
please_Voc : Voc ;
|
||||||
|
possess_Prep : Prep ; -- of (possessive)
|
||||||
|
quite_Adv : AdA ;
|
||||||
|
she_Pron : Pron ;
|
||||||
|
so_AdA : AdA ;
|
||||||
|
someSg_Det : Det ;
|
||||||
|
somePl_Det : Det ;
|
||||||
|
somebody_NP : NP ;
|
||||||
|
something_NP : NP ;
|
||||||
|
somewhere_Adv : Adv ;
|
||||||
|
that_Quant : Quant ;
|
||||||
|
that_Subj : Subj ;
|
||||||
|
there_Adv : Adv ; --hari
|
||||||
|
|
||||||
|
|
||||||
|
there7to_Adv : Adv ; -- to there
|
||||||
|
there7from_Adv : Adv ; -- from there
|
||||||
|
therefore_PConj : PConj ;
|
||||||
|
they_Pron : Pron ;
|
||||||
|
this_Quant : Quant ;
|
||||||
|
through_Prep : Prep ;
|
||||||
|
to_Prep : Prep ;
|
||||||
|
too_AdA : AdA ;
|
||||||
|
under_Prep : Prep ;
|
||||||
|
very_AdA : AdA ;
|
||||||
|
want_VV : VV ;
|
||||||
|
we_Pron : Pron ;
|
||||||
|
whatPl_IP : IP ; -- what (plural)
|
||||||
|
whatSg_IP : IP ; -- what (singular)
|
||||||
|
when_IAdv : IAdv ;
|
||||||
|
when_Subj : Subj ;
|
||||||
|
where_IAdv : IAdv ;
|
||||||
|
which_IQuant : IQuant ;
|
||||||
|
whoPl_IP : IP ; -- who (plural)
|
||||||
|
whoSg_IP : IP ; -- who (singular)
|
||||||
|
why_IAdv : IAdv ;
|
||||||
|
with_Prep : Prep ;
|
||||||
|
without_Prep : Prep ;
|
||||||
|
---b yes_Phr : Phr ;
|
||||||
|
yes_Utt : Utt ;
|
||||||
|
youSg_Pron : Pron ; -- you (singular)
|
||||||
|
youPl_Pron : Pron ; -- you (plural)
|
||||||
|
youPol_Pron : Pron ; -- you (polite)
|
||||||
|
|
||||||
|
no_Quant : Quant ;
|
||||||
|
not_Predet : Predet ;
|
||||||
|
if_then_Conj : Conj ;
|
||||||
|
at_least_AdN : AdN ;
|
||||||
|
at_most_AdN : AdN ;
|
||||||
|
nobody_NP : NP ;
|
||||||
|
nothing_NP : NP ;
|
||||||
|
except_Prep : Prep ;
|
||||||
|
|
||||||
|
as_CAdv : CAdv ;
|
||||||
|
|
||||||
|
have_V2 : V2 ;
|
||||||
|
|
||||||
|
fun language_title_Utt : Utt ;
|
||||||
|
|
||||||
|
-}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user