mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-26 11:18:55 -06:00
test set for resource started
This commit is contained in:
@@ -11,7 +11,7 @@ concrete IdiomEng of Idiom = CatEng ** open Prelude, ResEng in {
|
|||||||
(insertObj (\\_ => np.s ! rs.c) (predAux auxBe))) ;
|
(insertObj (\\_ => np.s ! rs.c) (predAux auxBe))) ;
|
||||||
|
|
||||||
CleftAdv ad s = mkClause "it" (agrP3 Sg)
|
CleftAdv ad s = mkClause "it" (agrP3 Sg)
|
||||||
(insertObj (\\_ => conjThat ++ s.s)
|
(insertObj (\\_ => strOpt conjThat ++ s.s)
|
||||||
(insertObj (\\_ => ad.s) (predAux auxBe))) ;
|
(insertObj (\\_ => ad.s) (predAux auxBe))) ;
|
||||||
|
|
||||||
ExistNP np =
|
ExistNP np =
|
||||||
|
|||||||
@@ -10,21 +10,21 @@ abstract Adjective = Cat ** {
|
|||||||
-- (The superlative use is covered in [Noun Noun.html].$SuperlA$.)
|
-- (The superlative use is covered in [Noun Noun.html].$SuperlA$.)
|
||||||
|
|
||||||
PositA : A -> AP ; -- warm
|
PositA : A -> AP ; -- warm
|
||||||
ComparA : A -> NP -> AP ; -- warmer than Spain
|
ComparA : A -> NP -> AP ; -- warmer than I
|
||||||
ComplA2 : A2 -> NP -> AP ; -- divisible by 2
|
ComplA2 : A2 -> NP -> AP ; -- married to her
|
||||||
ReflA2 : A2 -> AP ; -- divisible by itself
|
ReflA2 : A2 -> AP ; -- married to itself
|
||||||
UseA2 : A2 -> A ; -- divisible
|
UseA2 : A2 -> A ; -- married
|
||||||
|
|
||||||
-- Sentence and question complements defined for all adjectival
|
-- Sentence and question complements defined for all adjectival
|
||||||
-- phrases, although the semantics is only clear for some adjectives.
|
-- phrases, although the semantics is only clear for some adjectives.
|
||||||
|
|
||||||
SentAP : AP -> SC -> AP ; -- great that she won, uncertain if she did
|
SentAP : AP -> SC -> AP ; -- good that she is here
|
||||||
|
|
||||||
-- An adjectival phrase can be modified by an *adadjective*, such as "very".
|
-- An adjectival phrase can be modified by an *adadjective*, such as "very".
|
||||||
|
|
||||||
AdAP : AdA -> AP -> AP ; -- very uncertain
|
AdAP : AdA -> AP -> AP ; -- very warm
|
||||||
|
|
||||||
-- The formation of adverbs from adjective (e.g. "quickly") is covered
|
-- The formation of adverbs from adjective (e.g. "quickly") is covered
|
||||||
-- by [Adverb Adverb.html].
|
-- in [Adverb Adverb.html].
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,14 +7,14 @@ abstract Adverb = Cat ** {
|
|||||||
-- The two main ways of forming adverbs are from adjectives and by
|
-- The two main ways of forming adverbs are from adjectives and by
|
||||||
-- prepositions from noun phrases.
|
-- prepositions from noun phrases.
|
||||||
|
|
||||||
PositAdvAdj : A -> Adv ; -- quickly
|
PositAdvAdj : A -> Adv ; -- warmly
|
||||||
PrepNP : Prep -> NP -> Adv ; -- in the house
|
PrepNP : Prep -> NP -> Adv ; -- in the house
|
||||||
|
|
||||||
-- Comparative adverbs have a noun phrase or a sentence as object of
|
-- Comparative adverbs have a noun phrase or a sentence as object of
|
||||||
-- comparison.
|
-- comparison.
|
||||||
|
|
||||||
ComparAdvAdj : CAdv -> A -> NP -> Adv ; -- more quickly than John
|
ComparAdvAdj : CAdv -> A -> NP -> Adv ; -- more warmly than John
|
||||||
ComparAdvAdjS : CAdv -> A -> S -> Adv ; -- more quickly than he runs
|
ComparAdvAdjS : CAdv -> A -> S -> Adv ; -- more warmly than he runs
|
||||||
|
|
||||||
-- Adverbs can be modified by 'adadjectives', just like adjectives.
|
-- Adverbs can be modified by 'adadjectives', just like adjectives.
|
||||||
|
|
||||||
@@ -22,12 +22,11 @@ abstract Adverb = Cat ** {
|
|||||||
|
|
||||||
-- Subordinate clauses can function as adverbs.
|
-- Subordinate clauses can function as adverbs.
|
||||||
|
|
||||||
SubjS : Subj -> S -> Adv ; -- when he arrives
|
SubjS : Subj -> S -> Adv ; -- when she sleeps
|
||||||
AdvSC : SC -> Adv ; -- that he arrives ---- REMOVE?
|
|
||||||
|
|
||||||
-- Comparison adverbs also work as numeral adverbs.
|
-- Comparison adverbs also work as numeral adverbs.
|
||||||
|
|
||||||
AdnCAdv : CAdv -> AdN ; -- more (than five)
|
AdnCAdv : CAdv -> AdN ; -- less (than five)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,4 +49,11 @@ fun
|
|||||||
this_NP : NP ;
|
this_NP : NP ;
|
||||||
those_NP : NP ;
|
those_NP : NP ;
|
||||||
|
|
||||||
|
whichPl_IDet : IDet ;
|
||||||
|
whichSg_IDet : IDet ;
|
||||||
|
|
||||||
|
-- from Adverb
|
||||||
|
|
||||||
|
AdvSC : SC -> Adv ; -- that he arrives ---- REMOVE?
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,8 @@ abstract Cat = Common ** {
|
|||||||
QCl ; -- question clause, with all tenses e.g. "why does she walk"
|
QCl ; -- question clause, with all tenses e.g. "why does she walk"
|
||||||
IP ; -- interrogative pronoun e.g. "who"
|
IP ; -- interrogative pronoun e.g. "who"
|
||||||
IComp ; -- interrogative complement of copula e.g. "where"
|
IComp ; -- interrogative complement of copula e.g. "where"
|
||||||
IDet ; -- interrogative determiner e.g. "which"
|
IDet ; -- interrogative determiner e.g. "how many"
|
||||||
|
IQuant; -- interrogative quantifier e.g. "which"
|
||||||
|
|
||||||
--2 Relative clauses and pronouns
|
--2 Relative clauses and pronouns
|
||||||
|
|
||||||
|
|||||||
@@ -17,15 +17,15 @@ abstract Conjunction = Cat ** {
|
|||||||
--2 Rules
|
--2 Rules
|
||||||
|
|
||||||
fun
|
fun
|
||||||
ConjS : Conj -> [S] -> S ; -- "John walks and Mary runs"
|
ConjS : Conj -> [S] -> S ; -- "he walks and she runs"
|
||||||
ConjAP : Conj -> [AP] -> AP ; -- "even and prime"
|
ConjAP : Conj -> [AP] -> AP ; -- "cold and warm"
|
||||||
ConjNP : Conj -> [NP] -> NP ; -- "John or Mary"
|
ConjNP : Conj -> [NP] -> NP ; -- "she or we"
|
||||||
ConjAdv : Conj -> [Adv] -> Adv ; -- "quickly or slowly"
|
ConjAdv : Conj -> [Adv] -> Adv ; -- "here or there"
|
||||||
|
|
||||||
DConjS : DConj -> [S] -> S ; -- "either John walks or Mary runs"
|
DConjS : DConj -> [S] -> S ; -- "either he walks or she runs"
|
||||||
DConjAP : DConj -> [AP] -> AP ; -- "both even and prime"
|
DConjAP : DConj -> [AP] -> AP ; -- "both warm and cold"
|
||||||
DConjNP : DConj -> [NP] -> NP ; -- "either John or Mary"
|
DConjNP : DConj -> [NP] -> NP ; -- "either he or she"
|
||||||
DConjAdv : DConj -> [Adv] -> Adv; -- "both badly and slowly"
|
DConjAdv : DConj -> [Adv] -> Adv; -- "both here and there"
|
||||||
|
|
||||||
--2 Categories
|
--2 Categories
|
||||||
|
|
||||||
|
|||||||
@@ -6,11 +6,11 @@ abstract Idiom = Cat ** {
|
|||||||
-- often different even in closely related languages.
|
-- often different even in closely related languages.
|
||||||
|
|
||||||
fun
|
fun
|
||||||
ImpersCl : VP -> Cl ; -- it rains
|
ImpersCl : VP -> Cl ; -- it is hot
|
||||||
GenericCl : VP -> Cl ; -- one sleeps
|
GenericCl : VP -> Cl ; -- one sleeps
|
||||||
|
|
||||||
CleftNP : NP -> RS -> Cl ; -- it is you who did it
|
CleftNP : NP -> RS -> Cl ; -- it is I who did it
|
||||||
CleftAdv : Adv -> S -> Cl ; -- it is yesterday she arrived
|
CleftAdv : Adv -> S -> Cl ; -- it is here she slept
|
||||||
|
|
||||||
ExistNP : NP -> Cl ; -- there is a house
|
ExistNP : NP -> Cl ; -- there is a house
|
||||||
ExistIP : IP -> QCl ; -- which houses are there
|
ExistIP : IP -> QCl ; -- which houses are there
|
||||||
|
|||||||
@@ -25,9 +25,9 @@ abstract Noun = Cat ** {
|
|||||||
-- A noun phrase can also be postmodified by the past participle of a
|
-- A noun phrase can also be postmodified by the past participle of a
|
||||||
-- verb, by an adverb, or by a relative clause
|
-- verb, by an adverb, or by a relative clause
|
||||||
|
|
||||||
PPartNP : NP -> V2 -> NP ; -- the number squared
|
PPartNP : NP -> V2 -> NP ; -- the man seen
|
||||||
AdvNP : NP -> Adv -> NP ; -- Paris at midnight
|
AdvNP : NP -> Adv -> NP ; -- Paris today
|
||||||
RelNP : NP -> RS -> NP ; -- Paris, which is in Europe
|
RelNP : NP -> RS -> NP ; -- Paris, which is here
|
||||||
|
|
||||||
-- Determiners can form noun phrases directly.
|
-- Determiners can form noun phrases directly.
|
||||||
|
|
||||||
@@ -40,8 +40,8 @@ abstract Noun = Cat ** {
|
|||||||
-- quantifier and two optional parts can be discerned: a cardinal and
|
-- quantifier and two optional parts can be discerned: a cardinal and
|
||||||
-- an ordinal numeral.
|
-- an ordinal numeral.
|
||||||
|
|
||||||
DetQuantOrd : Quant -> Num -> Ord -> Det ; -- these five best men
|
DetQuantOrd : Quant -> Num -> Ord -> Det ; -- these five best
|
||||||
DetQuant : Quant -> Num -> Det ; -- these five best men
|
DetQuant : Quant -> Num -> Det ; -- these five
|
||||||
|
|
||||||
-- Whether the resulting determiner is singular or plural depends on the
|
-- Whether the resulting determiner is singular or plural depends on the
|
||||||
-- cardinal.
|
-- cardinal.
|
||||||
@@ -70,7 +70,7 @@ abstract Noun = Cat ** {
|
|||||||
|
|
||||||
OrdDigits : Digits -> Ord ; -- 51st
|
OrdDigits : Digits -> Ord ; -- 51st
|
||||||
OrdNumeral : Numeral -> Ord ; -- fifty-first
|
OrdNumeral : Numeral -> Ord ; -- fifty-first
|
||||||
OrdSuperl : A -> Ord ; -- largest
|
OrdSuperl : A -> Ord ; -- warmest
|
||||||
|
|
||||||
-- Definite and indefinite noun phrases are sometimes realized as
|
-- Definite and indefinite noun phrases are sometimes realized as
|
||||||
-- neatly distinct words (Spanish "un, unos ; el, los") but also without
|
-- neatly distinct words (Spanish "un, unos ; el, los") but also without
|
||||||
@@ -111,33 +111,34 @@ abstract Noun = Cat ** {
|
|||||||
|
|
||||||
-- Relational nouns take one or two arguments.
|
-- Relational nouns take one or two arguments.
|
||||||
|
|
||||||
ComplN2 : N2 -> NP -> CN ; -- son of the king
|
ComplN2 : N2 -> NP -> CN ; -- mother of the king
|
||||||
ComplN3 : N3 -> NP -> N2 ; -- flight from Moscow (to Paris)
|
ComplN3 : N3 -> NP -> N2 ; -- distance from this city (to Paris)
|
||||||
|
|
||||||
-- Relational nouns can also be used without their arguments.
|
-- Relational nouns can also be used without their arguments.
|
||||||
-- The semantics is typically derivative of the relational meaning.
|
-- The semantics is typically derivative of the relational meaning.
|
||||||
|
|
||||||
UseN2 : N2 -> CN ; -- son
|
UseN2 : N2 -> CN ; -- mother
|
||||||
UseN3 : N3 -> CN ; -- flight
|
Use2N3 : N3 -> N2 ; -- distance (from this city)
|
||||||
|
Use3N3 : N3 -> N2 ; -- distance (to Paris)
|
||||||
|
|
||||||
-- Nouns can be modified by adjectives, relative clauses, and adverbs
|
-- Nouns can be modified by adjectives, relative clauses, and adverbs
|
||||||
-- (the last rule will give rise to many 'PP attachment' ambiguities
|
-- (the last rule will give rise to many 'PP attachment' ambiguities
|
||||||
-- when used in connection with verb phrases).
|
-- when used in connection with verb phrases).
|
||||||
|
|
||||||
AdjCN : AP -> CN -> CN ; -- big house
|
AdjCN : AP -> CN -> CN ; -- big house
|
||||||
RelCN : CN -> RS -> CN ; -- house that John owns
|
RelCN : CN -> RS -> CN ; -- house that John bought
|
||||||
AdvCN : CN -> Adv -> CN ; -- house on the hill
|
AdvCN : CN -> Adv -> CN ; -- house on the hill
|
||||||
|
|
||||||
-- Nouns can also be modified by embedded sentences and questions.
|
-- Nouns can also be modified by embedded sentences and questions.
|
||||||
-- For some nouns this makes little sense, but we leave this for applications
|
-- For some nouns this makes little sense, but we leave this for applications
|
||||||
-- to decide. Sentential complements are defined in [Verb Verb.html].
|
-- to decide. Sentential complements are defined in [Verb Verb.html].
|
||||||
|
|
||||||
SentCN : CN -> SC -> CN ; -- fact that John smokes, question if he does
|
SentCN : CN -> SC -> CN ; -- question where she sleeps
|
||||||
|
|
||||||
--2 Apposition
|
--2 Apposition
|
||||||
|
|
||||||
-- This is certainly overgenerating.
|
-- This is certainly overgenerating.
|
||||||
|
|
||||||
ApposCN : CN -> NP -> CN ; -- number x, numbers x and y
|
ApposCN : CN -> NP -> CN ; -- city Paris (, numbers x and y)
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -7,15 +7,15 @@ abstract Phrase = Cat ** {
|
|||||||
-- and suffixing with a vocative (typically a noun phrase).
|
-- and suffixing with a vocative (typically a noun phrase).
|
||||||
|
|
||||||
fun
|
fun
|
||||||
PhrUtt : PConj -> Utt -> Voc -> Phr ; -- But go home my friend.
|
PhrUtt : PConj -> Utt -> Voc -> Phr ; -- but come here, my friend
|
||||||
|
|
||||||
-- Utterances are formed from sentences, questions, and imperatives.
|
-- Utterances are formed from sentences, questions, and imperatives.
|
||||||
|
|
||||||
UttS : S -> Utt ; -- John walks
|
UttS : S -> Utt ; -- John walks
|
||||||
UttQS : QS -> Utt ; -- is it good
|
UttQS : QS -> Utt ; -- is it good
|
||||||
UttImpSg : Pol -> Imp -> Utt; -- (don't) help yourself
|
UttImpSg : Pol -> Imp -> Utt; -- (don't) love yourself
|
||||||
UttImpPl : Pol -> Imp -> Utt; -- (don't) help yourselves
|
UttImpPl : Pol -> Imp -> Utt; -- (don't) love yourselves
|
||||||
UttImpPol : Pol -> Imp -> Utt ; -- (don't) help (polite)
|
UttImpPol : Pol -> Imp -> Utt ; -- (don't) sleep (polite)
|
||||||
|
|
||||||
-- There are also 'one-word utterances'. A typical use of them is
|
-- There are also 'one-word utterances'. A typical use of them is
|
||||||
-- as answers to questions.
|
-- as answers to questions.
|
||||||
|
|||||||
@@ -6,24 +6,36 @@ abstract Question = Cat ** {
|
|||||||
-- with an interrogative.
|
-- with an interrogative.
|
||||||
|
|
||||||
fun
|
fun
|
||||||
QuestCl : Cl -> QCl ; -- does John walk
|
QuestCl : Cl -> QCl ; -- does John walk
|
||||||
QuestVP : IP -> VP -> QCl ; -- who walks
|
QuestVP : IP -> VP -> QCl ; -- who walks
|
||||||
QuestSlash : IP -> ClSlash -> QCl ; -- who does John love
|
QuestSlash : IP -> ClSlash -> QCl ; -- whom does John love
|
||||||
QuestIAdv : IAdv -> Cl -> QCl ; -- why does John walk
|
QuestIAdv : IAdv -> Cl -> QCl ; -- why does John walk
|
||||||
QuestIComp : IComp -> NP -> QCl ; -- where is John
|
QuestIComp : IComp -> NP -> QCl ; -- where is John
|
||||||
|
|
||||||
-- Interrogative pronouns can be formed with interrogative
|
-- Interrogative pronouns can be formed with interrogative
|
||||||
-- determiners.
|
-- determiners, with or without a noun.
|
||||||
|
|
||||||
IDetCN : IDet -> Num -> Ord -> CN -> IP; -- which five best songs
|
IdetCN : IDet -> CN -> IP ; -- which five songs
|
||||||
AdvIP : IP -> Adv -> IP ; -- who in Europe
|
IdetIP : IDet -> IP ; -- which five
|
||||||
|
|
||||||
PrepIP : Prep -> IP -> IAdv ; -- with whom
|
-- They can be modified with adverbs.
|
||||||
|
|
||||||
CompIAdv : IAdv -> IComp ; -- where
|
AdvIP : IP -> Adv -> IP ; -- who in Paris
|
||||||
|
|
||||||
|
-- Interrogative quantifiers have number forms and can take number modifiers.
|
||||||
|
|
||||||
-- More $IP$, $IDet$, and $IAdv$ are defined in
|
IdetQuant : IQuant -> Num -> IDet ; -- which (five)
|
||||||
-- [``Structural`` Structural.html].
|
|
||||||
|
-- Interrogative adverbs can be formed prepositionally.
|
||||||
|
|
||||||
|
PrepIP : Prep -> IP -> IAdv ; -- with whom
|
||||||
|
|
||||||
|
-- Interrogative complements to copulas can be both adverbs and
|
||||||
|
-- pronouns.
|
||||||
|
|
||||||
|
CompIAdv : IAdv -> IComp ; -- where (is it)
|
||||||
|
CompIP : IP -> IComp ; -- who (is it)
|
||||||
|
|
||||||
|
-- More $IP$, $IDet$, and $IAdv$ are defined in $Structural$.
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,8 +93,7 @@ abstract Structural = Cat ** {
|
|||||||
when_IAdv : IAdv ;
|
when_IAdv : IAdv ;
|
||||||
when_Subj : Subj ;
|
when_Subj : Subj ;
|
||||||
where_IAdv : IAdv ;
|
where_IAdv : IAdv ;
|
||||||
whichPl_IDet : IDet ;
|
which_IQuant : IQuant ;
|
||||||
whichSg_IDet : IDet ;
|
|
||||||
whoPl_IP : IP ;
|
whoPl_IP : IP ;
|
||||||
whoSg_IP : IP ;
|
whoSg_IP : IP ;
|
||||||
why_IAdv : IAdv ;
|
why_IAdv : IAdv ;
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ concrete AdverbEng of Adverb = CatEng ** open ResEng, Prelude in {
|
|||||||
AdAdv = cc2 ;
|
AdAdv = cc2 ;
|
||||||
|
|
||||||
SubjS = cc2 ;
|
SubjS = cc2 ;
|
||||||
AdvSC s = s ; --- this rule give stack overflow in ordinary parsing
|
---b AdvSC s = s ; --- this rule give stack overflow in ordinary parsing
|
||||||
|
|
||||||
AdnCAdv cadv = {s = cadv.s ++ "than"} ;
|
AdnCAdv cadv = {s = cadv.s ++ "than"} ;
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ concrete CatEng of Cat = CommonX ** open ResEng, Prelude in {
|
|||||||
IP = {s : Case => Str ; n : Number} ;
|
IP = {s : Case => Str ; n : Number} ;
|
||||||
IComp = {s : Str} ;
|
IComp = {s : Str} ;
|
||||||
IDet = {s : Str ; n : Number} ;
|
IDet = {s : Str ; n : Number} ;
|
||||||
|
IQuant = {s : Number => Str} ;
|
||||||
|
|
||||||
-- Relative
|
-- Relative
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ concrete IdiomEng of Idiom = CatEng ** open Prelude, ResEng in {
|
|||||||
(insertObj (\\_ => np.s ! rs.c) (predAux auxBe))) ;
|
(insertObj (\\_ => np.s ! rs.c) (predAux auxBe))) ;
|
||||||
|
|
||||||
CleftAdv ad s = mkClause "it" (agrP3 Sg)
|
CleftAdv ad s = mkClause "it" (agrP3 Sg)
|
||||||
(insertObj (\\_ => conjThat ++ s.s)
|
(insertObj (\\_ => optStr conjThat ++ s.s)
|
||||||
(insertObj (\\_ => ad.s) (predAux auxBe))) ;
|
(insertObj (\\_ => ad.s) (predAux auxBe))) ;
|
||||||
|
|
||||||
ExistNP np =
|
ExistNP np =
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ lin
|
|||||||
open_V2 = dirV2 (regV "open") ;
|
open_V2 = dirV2 (regV "open") ;
|
||||||
paint_V2A = mkV2A (regV "paint") noPrep ;
|
paint_V2A = mkV2A (regV "paint") noPrep ;
|
||||||
paper_N = regN "paper" ;
|
paper_N = regN "paper" ;
|
||||||
paris_PN = regPN "Paris" ;
|
paris_PN = mkPN (mkN nonhuman (mkN "Paris")) ;
|
||||||
peace_N = regN "peace" ;
|
peace_N = regN "peace" ;
|
||||||
pen_N = regN "pen" ;
|
pen_N = regN "pen" ;
|
||||||
planet_N = regN "planet" ;
|
planet_N = regN "planet" ;
|
||||||
|
|||||||
@@ -99,7 +99,19 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in {
|
|||||||
|
|
||||||
UseN n = n ;
|
UseN n = n ;
|
||||||
UseN2 n = n ;
|
UseN2 n = n ;
|
||||||
UseN3 n = n ;
|
---b UseN3 n = n ;
|
||||||
|
|
||||||
|
Use2N3 f = {
|
||||||
|
s = \\n,c => f.s ! n ! Nom ;
|
||||||
|
g = f.g ;
|
||||||
|
c2 = f.c2
|
||||||
|
} ;
|
||||||
|
|
||||||
|
Use3N3 f = {
|
||||||
|
s = \\n,c => f.s ! n ! Nom ;
|
||||||
|
g = f.g ;
|
||||||
|
c2 = f.c3
|
||||||
|
} ;
|
||||||
|
|
||||||
ComplN2 f x = {s = \\n,c => f.s ! n ! Nom ++ f.c2 ++ x.s ! c ; g = f.g} ;
|
ComplN2 f x = {s = \\n,c => f.s ! n ! Nom ++ f.c2 ++ x.s ! c ; g = f.g} ;
|
||||||
ComplN3 f x = {
|
ComplN3 f x = {
|
||||||
|
|||||||
@@ -27,18 +27,29 @@ concrete QuestionEng of Question = CatEng ** open ResEng, Prelude in {
|
|||||||
mkQuestion icomp (mkClause (np.s ! Nom) np.a (predAux auxBe)) ;
|
mkQuestion icomp (mkClause (np.s ! Nom) np.a (predAux auxBe)) ;
|
||||||
|
|
||||||
|
|
||||||
PrepIP p ip = {s = p.s ++ ip.s ! Nom} ;
|
PrepIP p ip = {s = p.s ++ ip.s ! Acc} ;
|
||||||
|
|
||||||
AdvIP ip adv = {
|
AdvIP ip adv = {
|
||||||
s = \\c => ip.s ! c ++ adv.s ;
|
s = \\c => ip.s ! c ++ adv.s ;
|
||||||
n = ip.n
|
n = ip.n
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
IDetCN idet num ord cn = {
|
IdetCN idet cn = {
|
||||||
s = \\c => idet.s ++ num.s ++ ord.s ++ cn.s ! idet.n ! c ;
|
s = \\c => idet.s ++ cn.s ! idet.n ! c ;
|
||||||
n = idet.n
|
n = idet.n
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
IdetIP idet = {
|
||||||
|
s = \\c => idet.s ;
|
||||||
|
n = idet.n
|
||||||
|
} ;
|
||||||
|
|
||||||
|
IdetQuant idet num = {
|
||||||
|
s = idet.s ! num.n ++ num.s ;
|
||||||
|
n = num.n
|
||||||
|
} ;
|
||||||
|
|
||||||
CompIAdv a = a ;
|
CompIAdv a = a ;
|
||||||
|
CompIP p = ss (p.s ! Nom) ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,8 +105,9 @@ concrete StructuralEng of Structural = CatEng **
|
|||||||
when_IAdv = ss "when" ;
|
when_IAdv = ss "when" ;
|
||||||
when_Subj = ss "when" ;
|
when_Subj = ss "when" ;
|
||||||
where_IAdv = ss "where" ;
|
where_IAdv = ss "where" ;
|
||||||
whichPl_IDet = mkDeterminer Pl ["which"] ;
|
which_IQuant = {s = \\_ => "which"} ;
|
||||||
whichSg_IDet = mkDeterminer Sg ["which"] ;
|
---b whichPl_IDet = mkDeterminer Pl ["which"] ;
|
||||||
|
---b whichSg_IDet = mkDeterminer Sg ["which"] ;
|
||||||
whoSg_IP = mkIP "who" "whom" "whose" Sg ;
|
whoSg_IP = mkIP "who" "whom" "whose" Sg ;
|
||||||
whoPl_IP = mkIP "who" "whom" "whose" Pl ;
|
whoPl_IP = mkIP "who" "whom" "whose" Pl ;
|
||||||
why_IAdv = ss "why" ;
|
why_IAdv = ss "why" ;
|
||||||
|
|||||||
146
lib/resource/exper/restest.gfs
Normal file
146
lib/resource/exper/restest.gfs
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
-- Adjective
|
||||||
|
|
||||||
|
PositA warm_A
|
||||||
|
ComparA warm_A (UsePron i_Pron)
|
||||||
|
ComplA2 married_A2 (DetNP (DetQuant (PossPron she_Pron) NumPl))
|
||||||
|
ComplA2 married_A2 (DetNP (DetQuant (PossPron she_Pron) NumSg))
|
||||||
|
ComplA2 married_A2 (UsePron she_Pron)
|
||||||
|
ReflA2 married_A2
|
||||||
|
PositA (UseA2 married_A2)
|
||||||
|
SentAP (PositA good_A) (EmbedS (UseCl TPres ASimul PPos (PredVP (UsePron she_Pron) (UseComp (CompAdv here_Adv)))))
|
||||||
|
AdAP very_AdA (PositA warm_A)
|
||||||
|
|
||||||
|
|
||||||
|
-- Adverb
|
||||||
|
|
||||||
|
PositAdvAdj warm_A
|
||||||
|
PrepNP in_Prep (DetArtSg DefArt (UseN house_N))
|
||||||
|
ComparAdvAdj more_CAdv warm_A (UsePN john_PN)
|
||||||
|
ComparAdvAdjS more_CAdv warm_A (UseCl TPres ASimul PPos (PredVP (UsePron he_Pron) (UseV run_V)))
|
||||||
|
SubjS when_Subj (UseCl TPres ASimul PPos (PredVP (UsePron she_Pron) (UseV sleep_V)))
|
||||||
|
AdNum (AdnCAdv more_CAdv) (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))
|
||||||
|
|
||||||
|
|
||||||
|
-- Conjunction
|
||||||
|
|
||||||
|
ConjS and_Conj (BaseS (UseCl TPres ASimul PPos (PredVP (UsePron he_Pron) (UseV walk_V))) (UseCl TPres ASimul PPos (PredVP (UsePron she_Pron) (UseV run_V))))
|
||||||
|
ConjAP and_Conj (BaseAP (PositA cold_A) (PositA warm_A))
|
||||||
|
ConjNP or_Conj (BaseNP (UsePron she_Pron) (UsePron we_Pron))
|
||||||
|
ConjAdv or_Conj (BaseAdv here_Adv there_Adv)
|
||||||
|
DConjS either7or_DConj (BaseS (UseCl TPres ASimul PPos (PredVP (UsePron he_Pron) (UseV walk_V))) (UseCl TPres ASimul PPos (PredVP (UsePron she_Pron) (UseV run_V))))
|
||||||
|
DConjAP both7and_DConj (BaseAP (PositA warm_A) (PositA cold_A))
|
||||||
|
DConjNP either7or_DConj (BaseNP (UsePron he_Pron) (UsePron she_Pron))
|
||||||
|
DConjAdv both7and_DConj (BaseAdv here_Adv there_Adv)
|
||||||
|
|
||||||
|
-- Idiom
|
||||||
|
|
||||||
|
ImpersCl (UseComp (CompAP (PositA hot_A)))
|
||||||
|
GenericCl (UseV sleep_V)
|
||||||
|
CleftNP (UsePron i_Pron) (UseRCl TPast ASimul PPos (RelVP IdRP (ComplSlash (SlashV2a do_V2) (UsePron it_Pron))))
|
||||||
|
CleftAdv here_Adv (UseCl TPast ASimul PPos (PredVP (UsePron she_Pron) (UseV sleep_V)))
|
||||||
|
ExistNP (DetArtSg IndefArt (UseN house_N))
|
||||||
|
ExistIP (IdetCN (IdetQuant which_IQuant NumPl) (UseN house_N))
|
||||||
|
PredVP (UsePron i_Pron) (ProgrVP (UseV sleep_V))
|
||||||
|
ImpPl1 (UseV go_V)
|
||||||
|
|
||||||
|
-- Noun
|
||||||
|
|
||||||
|
DetArtSg DefArt (UseN man_N)
|
||||||
|
UsePN john_PN
|
||||||
|
UsePron he_Pron
|
||||||
|
PredetNP only_Predet (DetArtSg DefArt (UseN man_N))
|
||||||
|
PPartNP (DetArtSg DefArt (UseN man_N)) see_V2
|
||||||
|
AdvNP (UsePN paris_PN) today_Adv
|
||||||
|
RelNP (UsePN paris_PN) (UseRCl TPres ASimul PPos (RelVP IdRP (UseComp (CompAdv here_Adv))))
|
||||||
|
DetNP (DetQuant this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))))
|
||||||
|
DetCN (DetQuantOrd this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))) (OrdSuperl good_A)) (UseN man_N)
|
||||||
|
DetCN (DetQuant this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) (UseN man_N)
|
||||||
|
DetCN (DetQuant this_Quant NumPl) (UseN man_N)
|
||||||
|
DetCN (DetQuant this_Quant NumSg) (UseN man_N)
|
||||||
|
NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))
|
||||||
|
NumCard (NumDigits (IIDig D_5 (IDig D_1)))
|
||||||
|
NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot1plus n5 pot01)))))
|
||||||
|
NumCard (AdNum almost_AdN (NumDigits (IIDig D_5 (IDig D_1))))
|
||||||
|
OrdDigits (IIDig D_5 (IDig D_1))
|
||||||
|
OrdNumeral (num (pot2as3 (pot1as2 (pot1plus n5 pot01))))
|
||||||
|
OrdSuperl warm_A
|
||||||
|
DetCN (DetArtOrd DefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))) (OrdSuperl good_A)) (UseN man_N)
|
||||||
|
DetCN (DetArtCard DefArt (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))) (UseN man_N)
|
||||||
|
DetCN (DetArtCard IndefArt (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 pot01)))))) (UseN man_N)
|
||||||
|
DetCN (DetArtCard DefArt (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 pot01)))))) (UseN man_N)
|
||||||
|
DetArtSg DefArt (UseN man_N)
|
||||||
|
DetArtPl DefArt (UseN man_N)
|
||||||
|
MassNP (UseN beer_N)
|
||||||
|
DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN house_N)
|
||||||
|
UseN house_N
|
||||||
|
ComplN2 mother_N2 (DetArtSg DefArt (UseN king_N))
|
||||||
|
ComplN2 (ComplN3 distance_N3 (DetCN (DetQuant this_Quant NumSg) (UseN city_N))) (UsePN paris_PN)
|
||||||
|
UseN2 mother_N2
|
||||||
|
ComplN2 (Use2N3 distance_N3) (DetCN (DetQuant this_Quant NumSg) (UseN city_N))
|
||||||
|
ComplN2 (Use3N3 distance_N3) (UsePN paris_PN)
|
||||||
|
UseN2 (Use2N3 distance_N3)
|
||||||
|
AdjCN (PositA big_A) (UseN house_N)
|
||||||
|
RelCN (UseN house_N) (UseRCl TPast ASimul PPos (RelSlash IdRP (SlashVP (UsePN john_PN) (SlashV2a buy_V2))))
|
||||||
|
AdvCN (UseN house_N) (PrepNP on_Prep (DetArtSg DefArt (UseN hill_N)))
|
||||||
|
SentCN (UseN question_N) (EmbedQS (UseQCl TPres ASimul PPos (QuestIAdv where_IAdv (PredVP (UsePron she_Pron) (UseV sleep_V)))))
|
||||||
|
ApposCN (UseN city_N) (UsePN paris_PN)
|
||||||
|
|
||||||
|
|
||||||
|
-- Numeral
|
||||||
|
|
||||||
|
num (pot2as3 (pot1as2 (pot0as1 (pot0 n6))))
|
||||||
|
num (pot2as3 (pot1as2 (pot0as1 pot01)))
|
||||||
|
num (pot2as3 (pot1as2 (pot1 n6)))
|
||||||
|
num (pot2as3 (pot1as2 pot110))
|
||||||
|
num (pot2as3 (pot1as2 pot111))
|
||||||
|
num (pot2as3 (pot1as2 (pot1to19 n6)))
|
||||||
|
num (pot2as3 (pot1as2 (pot1 n6)))
|
||||||
|
num (pot2as3 (pot1as2 (pot1plus n6 (pot0 n5))))
|
||||||
|
num (pot2as3 (pot2 (pot0 n4)))
|
||||||
|
num (pot2as3 (pot2plus (pot0 n4) (pot1plus n6 (pot0 n7))))
|
||||||
|
num (pot3 (pot2plus (pot0 n4) (pot1plus n6 (pot0 n7))))
|
||||||
|
num (pot3plus (pot2plus (pot0 n4) (pot1plus n6 (pot0 n7))) (pot1as2 (pot1plus n8 (pot0 n9))))
|
||||||
|
IDig D_8
|
||||||
|
IIDig D_8 (IIDig D_0 (IIDig D_0 (IIDig D_1 (IIDig D_7 (IIDig D_8 (IDig D_9))))))
|
||||||
|
|
||||||
|
|
||||||
|
-- Phrase
|
||||||
|
|
||||||
|
PhrUtt but_PConj (UttImpSg PPos (ImpVP (AdvVP (UseV come_V) here_Adv))) (VocNP (DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN friend_N)))
|
||||||
|
PhrUtt NoPConj (UttS (UseCl TPres ASimul PPos (PredVP (UsePN john_PN) (UseV walk_V)))) NoVoc
|
||||||
|
UttQS (UseQCl TPres ASimul PPos (QuestCl (PredVP (UsePron it_Pron) (UseComp (CompAP (PositA good_A))))))
|
||||||
|
UttImpSg PNeg (ImpVP (ReflVP (SlashV2a love_V2)))
|
||||||
|
UttImpPl PNeg (ImpVP (ReflVP (SlashV2a love_V2)))
|
||||||
|
UttImpPol PNeg (ImpVP (UseV sleep_V))
|
||||||
|
UttIP whoPl_IP
|
||||||
|
UttIP whoSg_IP
|
||||||
|
UttIAdv why_IAdv
|
||||||
|
UttNP (DetCN (DetQuant this_Quant NumSg) (UseN man_N))
|
||||||
|
UttAdv here_Adv
|
||||||
|
UttVP (UseV sleep_V)
|
||||||
|
VocNP (DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN friend_N))
|
||||||
|
|
||||||
|
|
||||||
|
-- Question
|
||||||
|
|
||||||
|
QuestCl (PredVP (UsePN john_PN) (UseV walk_V))
|
||||||
|
QuestVP whoSg_IP (UseV walk_V)
|
||||||
|
QuestSlash whoSg_IP (SlashVP (UsePN john_PN) (SlashV2a love_V2))
|
||||||
|
QuestIAdv why_IAdv (PredVP (UsePN john_PN) (UseV walk_V))
|
||||||
|
QuestIComp (CompIAdv where_IAdv) (UsePN john_PN)
|
||||||
|
IdetCN (IdetQuant which_IQuant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) (UseN song_N)
|
||||||
|
IdetIP (IdetQuant which_IQuant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))))
|
||||||
|
AdvIP whoSg_IP (PrepNP in_Prep (UsePN paris_PN))
|
||||||
|
IdetIP (IdetQuant which_IQuant NumSg)
|
||||||
|
PrepIP with_Prep whoSg_IP
|
||||||
|
QuestIComp (CompIAdv where_IAdv) (UsePron it_Pron)
|
||||||
|
QuestIComp (CompIP whoSg_IP) (UsePron it_Pron)
|
||||||
|
|
||||||
|
|
||||||
|
-- Relative
|
||||||
|
-- Sentence
|
||||||
|
-- Text
|
||||||
|
-- Verb
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user