forked from GitHub/gf-rgl
131 lines
3.5 KiB
Plaintext
131 lines
3.5 KiB
Plaintext
concrete CatSom of Cat = CommonX - [Adv,IAdv] ** open ResSom, Prelude in {
|
|
|
|
flags optimize=all_subs ;
|
|
|
|
lincat
|
|
|
|
--2 Sentences and clauses
|
|
-- Constructed in SentenceSom, and also in IdiomSom
|
|
|
|
S = ResSom.Sentence ;
|
|
QS = SS ;
|
|
RS = {s : State => GenNum => Case => Str} ;
|
|
-- relative sentence. Tense and polarity fixed,
|
|
-- but agreement may depend on the CN/NP it modifies.
|
|
|
|
Cl = ResSom.ClSlash ;
|
|
ClSlash = ResSom.ClSlash ;
|
|
SSlash = ResSom.Sentence ; -- sentence missing NP; e.g. "she has looked at"
|
|
Imp = {s : Number => Polarity => Str} ; -- imperative e.g. "look at this"
|
|
|
|
--2 Questions and interrogatives
|
|
|
|
-- Constructed in QuestionSom.
|
|
|
|
QCl = ResSom.QClause ;
|
|
IComp = SS ; -- interrogative complement of copula e.g. "where"
|
|
IDet = ResSom.Determiner ; -- interrogative determiner e.g. "how many"
|
|
IQuant = ResSom.Quant ; -- interrogative quantifier e.g. "which"
|
|
IP = ResSom.NounPhrase ** {contractSTM : Bool} ; -- like NP but may contract with STM
|
|
IAdv = ResSom.IAdv ;
|
|
|
|
--2 Subord clauses and pronouns
|
|
|
|
RCl = ResSom.RClause ;
|
|
RP = SS ;
|
|
|
|
--2 Verb phrases
|
|
|
|
-- Constructed in VerbSom.
|
|
|
|
VP = ResSom.VerbPhrase ;
|
|
VPSlash = ResSom.VPSlash ;
|
|
Comp = ResSom.Complement ;
|
|
|
|
|
|
--2 Adjectival phrases
|
|
|
|
-- Constructed in AdjectiveSom.
|
|
|
|
AP = ResSom.AdjPhrase ;
|
|
|
|
|
|
--2 Nouns and noun phrases
|
|
|
|
-- Constructed in NounSom.
|
|
-- Many atomic noun phrases e.g. "everybody"
|
|
-- are constructed in StructuralSom.
|
|
-- The determiner structure is
|
|
-- ``` Predet (QuantSg | QuantPl Num) Ord
|
|
-- as defined in NounSom.
|
|
|
|
CN = ResSom.CNoun ;
|
|
NP = ResSom.NounPhrase ;
|
|
Pron = ResSom.Pronoun ; --Pronouns need enough info to turn it into NP or Quant.
|
|
Det = ResSom.Determiner ;
|
|
Predet = {s : Str ; da : DefArticle ; isPoss : Bool} ;
|
|
Quant = ResSom.Quant ;
|
|
Num = ResSom.Num ;
|
|
Ord = {
|
|
s : AForm => Str ; -- Ord can came from AP and become AP again
|
|
n : Number -- Ord can come from Num, which has inherent number
|
|
} ;
|
|
DAP = ResSom.Determiner ;
|
|
|
|
|
|
--2 Numerals
|
|
|
|
-- Constructed in NumeralSom.
|
|
|
|
Card = BaseNum ;
|
|
Numeral = ResSom.Numeral ;
|
|
Digits = {s : CardOrd => Str ; n : Number} ;
|
|
|
|
|
|
|
|
--2 Structural words
|
|
|
|
-- Constructed in StructuralSom.
|
|
Conj = {s2 : State => Str ; s1 : Str ; n : Number } ;
|
|
Subj = SS ;
|
|
Prep = ResSom.Prep ;
|
|
|
|
|
|
|
|
--2 Words of open classes
|
|
|
|
-- These are constructed in LexiconSom and in
|
|
-- additional lexicon modules.
|
|
|
|
VS, -- sentence-complement verb e.g. "claim"
|
|
-- TODO: eventually different lincats
|
|
VQ, -- question-complement verb e.g. "wonder"
|
|
VA, -- adjective-complement verb e.g. "look"
|
|
V = ResSom.Verb ;
|
|
|
|
VV = ResSom.VV ; -- verb-phrase-complement verb e.g. "want"
|
|
|
|
V2A, -- verb with NP and AP complement e.g. "paint"
|
|
V2V, -- verb with NP and V complement e.g. "cause"
|
|
V2S, -- verb with NP and S complement e.g. "tell"
|
|
V2Q, -- verb with NP and Q complement e.g. "ask"
|
|
V2 = ResSom.Verb2 ;
|
|
V3 = ResSom.Verb3 ;
|
|
|
|
A = ResSom.Adjective ;
|
|
A2 = ResSom.Adjective2 ;
|
|
|
|
N = ResSom.Noun ;
|
|
N2 = ResSom.Noun2 ;
|
|
N3 = ResSom.Noun3 ;
|
|
PN = ResSom.PNoun ;
|
|
|
|
Adv = ResSom.Adverb ; -- Preposition of an adverbial can merge with obligatory complements of the verb.
|
|
|
|
linref
|
|
-- Cl = linCl ;
|
|
VP = infVP ;
|
|
CN = linCN ;
|
|
Prep = \prep -> prep.s ! P3_Prep ++ prep.sii ++ prep.dhex ++ prep.hoostiisa ! Sg3 Masc ;
|
|
}
|