mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-14 17:40:12 -06:00
72 lines
2.2 KiB
Plaintext
72 lines
2.2 KiB
Plaintext
concrete CatSlo of Cat =
|
|
--- CommonX **
|
|
|
|
open ResSlo, Prelude in {
|
|
|
|
lincat
|
|
Text = {s : Str} ;
|
|
Phr = {s : Str} ;
|
|
Utt = {s : Str} ;
|
|
|
|
S = {s : Str} ;
|
|
Cl = {subj,clit,compl : Str ; verb : VerbForms ; a : Agr} ;
|
|
Comp = {s : Agr => Str} ;
|
|
|
|
QS = {s : Str} ; ---- TODO: indirect questions
|
|
QCl = {subj,clit,compl : Str ; verb : VerbForms ; a : Agr} ; -- = Cl ---- check if enough
|
|
IAdv = {s : Str} ;
|
|
|
|
RS = {s : Agr => Str} ;
|
|
RCl = {subj,clit,compl : Agr => Str ; verb : VerbForms} ; ---- RAgr with composite RP
|
|
RP = AdjForms ;
|
|
|
|
VP = {verb : VerbForms ; clit,compl : Agr => Str} ; ---- more fields probably needed
|
|
VPSlash = {verb : VerbForms ; clit,compl : Agr => Str ; c : ComplementCase} ; ----
|
|
V = ResSlo.VerbForms ;
|
|
V2 = ResSlo.VerbForms ** {c : ComplementCase} ;
|
|
VS,VQ = ResSlo.VerbForms ;
|
|
|
|
A = ResSlo.AdjForms ;
|
|
AP = ResSlo.Adjective ** {isPost : Bool} ; -- {s : Gender => Number => Case => Str}
|
|
A2 = ResSlo.AdjForms ** {c : ComplementCase} ;
|
|
|
|
AdA = {s : Str} ;
|
|
|
|
N = ResSlo.NounForms ;
|
|
CN = ResSlo.Noun ; -- {s : Number => Case => Str ; g : Gender}
|
|
NP = {s,clit,prep : Case => Str ; a : Agr ; hasClit : Bool} ; -- clit,prep differ for pronouns
|
|
PN = {s : Case => Str ; g : Gender} ;
|
|
Det = Determiner ; -- {s : Gender => Case => Str ; size : NumSize} ; -- can contain a numeral, therefore NumSize
|
|
Quant = {s : Gender => Number => Case => Str} ; -- same as AP
|
|
Num = Determiner ;
|
|
Card = Determiner ; -- {s : Gender => Case => Str ; size : NumSize} ;
|
|
Pron = PronForms ** {poss : DemPronForms} ;
|
|
|
|
Adv = {s : Str} ;
|
|
Prep = ResSlo.ComplementCase ; -- {s : Str ; c : Case ; hasPrep : Bool} ;
|
|
Conj = {s1,s2 : Str} ; ---- may need a number
|
|
|
|
Pol = {s : Str ; p : Bool} ;
|
|
Temp = {s : Str ; t : CTense} ;
|
|
Tense = {s : Str ; t : CTense} ;
|
|
Ant = {s : Str ; t : CTense} ;
|
|
|
|
PConj = {s : Str} ;
|
|
Voc = {s : Str} ;
|
|
|
|
AdN = {s : Str} ;
|
|
AdV = {s : Str} ;
|
|
CAdv = {s : Str} ;
|
|
SC = {s : Str} ;
|
|
|
|
linref
|
|
N = \s -> s.snom ;
|
|
A = \s -> s.msnom ;
|
|
|
|
|
|
lincat Numeral = Determiner ; ---- TODO: should contain Ord as well
|
|
lincat Digits = {s:Str ; size : NumSize} ;
|
|
|
|
|
|
}
|