forked from GitHub/gf-core
changes and additions in estonian in order to get chunking work
This commit is contained in:
@@ -11,17 +11,27 @@ concrete ExtraEst of ExtraEstAbs = CatEst **
|
||||
|
||||
GenCN n1 n2 = {s = \\nf => n1.s ! NPCase Gen ++ n2.s ! nf} ;
|
||||
|
||||
lincat
|
||||
VPI = {s : Str} ;
|
||||
[VPI] = {s1,s2 : Str} ;
|
||||
lin
|
||||
BaseVPI = twoSS ;
|
||||
ConsVPI = consrSS comma ;
|
||||
GenIP ip = {s = \\_,_ => ip.s ! NPCase Gen} ;
|
||||
|
||||
MkVPI vp = {s = infVP (NPCase Nom) Pos (agrP3 Sg) vp InfDa} ;
|
||||
ConjVPI = conjunctDistrSS ;
|
||||
GenRP num cn = {
|
||||
s = \\n,c => let k = npform2case num.n c in relPron ! n ! Gen ++ cn.s ! NCase num.n k ;
|
||||
a = RNoAg
|
||||
--- a = RAg (agrP3 num.n)
|
||||
} ;
|
||||
|
||||
lincat
|
||||
VPI = {s : InfForm => Str} ;
|
||||
[VPI] = {s1,s2 : InfForm => Str} ;
|
||||
-- VPI = {s : Str} ;
|
||||
-- [VPI] = {s1,s2 : Str} ;
|
||||
lin
|
||||
BaseVPI = twoTable InfForm ;
|
||||
ConsVPI = consrTable InfForm comma ;
|
||||
|
||||
MkVPI vp = {s = \\i => infVP (NPCase Nom) Pos (agrP3 Sg) vp i} ;
|
||||
ConjVPI = conjunctDistrTable InfForm ;
|
||||
ComplVPIVV vv vpi =
|
||||
insertObj (\\_,_,_ => vpi.s) (predV vv) ;
|
||||
insertObj (\\_,_,_ => vpi.s ! vv.vi) (predV vv) ;
|
||||
|
||||
lincat
|
||||
VPS = {
|
||||
@@ -57,6 +67,18 @@ concrete ExtraEst of ExtraEstAbs = CatEst **
|
||||
s = subjForm np vps.sc Pos ++ vps.s ! np.a
|
||||
} ;
|
||||
|
||||
PassVPSlash vp = vp ; --passVP vp vp.c2 ;
|
||||
|
||||
|
||||
PassAgentVPSlash vp np = vp ;
|
||||
{-
|
||||
s = {s = vp.s.s ; h = vp.s.h ; p = vp.s.p ; sc = npform2subjcase vp.c2.c} ;
|
||||
s2 = \\b,p,a => np.s ! NPCase Nom ++ vp.s2 ! b ! p ! a ;
|
||||
adv = vp.adv ;
|
||||
ext = vp.ext ;
|
||||
vptyp = vp.vptyp ;
|
||||
} ; -}
|
||||
|
||||
AdvExistNP adv np =
|
||||
mkClause (\_ -> adv.s) np.a (insertObj
|
||||
(\\_,b,_ => np.s ! NPCase Nom) (predV (verbOlema ** {sc = NPCase Nom}))) ;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
abstract ExtraEstAbs = Extra [
|
||||
GenNP,
|
||||
GenNP,GenIP,GenRP,
|
||||
PassVPSlash, PassAgentVPSlash,
|
||||
VPI,ListVPI,BaseVPI,ConsVPI,MkVPI,ComplVPIVV,ConjVPI,
|
||||
VPS,ListVPS,BaseVPS,ConsVPS,ConjVPS,MkVPS,PredVPS,ConjVPS,Tense,Temp,Pol,S,
|
||||
VV,VP,Conj,NP,Quant,IAdv,IComp,ICompAP,IAdvAdv,Adv,AP, Pron, ProDrop] ** {
|
||||
|
||||
@@ -112,6 +112,8 @@ concrete NounEst of Noun = CatEst ** open ResEst, HjkEst, MorphoEst, Prelude in
|
||||
isDef = True --- "minun kolme autoani ovat" ; thus "...on" is missing
|
||||
} ;
|
||||
|
||||
PossNP cn np = {s = \\nf => np.s ! NPCase Gen ++ cn.s ! nf };
|
||||
|
||||
NumSg = {s = \\_,_ => [] ; isNum = False ; n = Sg} ;
|
||||
NumPl = {s = \\_,_ => [] ; isNum = False ; n = Pl} ;
|
||||
|
||||
|
||||
97
lib/src/estonian/TerminologyEst.gf
Normal file
97
lib/src/estonian/TerminologyEst.gf
Normal file
@@ -0,0 +1,97 @@
|
||||
--# -path=.:../abstract:../common
|
||||
|
||||
concrete TerminologyEst of Terminology = CatEst ** open
|
||||
ResEst,
|
||||
ParadigmsEst,
|
||||
(G = GrammarEst),
|
||||
(S = SyntaxEst),
|
||||
(L = LexiconEst),
|
||||
Prelude,
|
||||
HTML
|
||||
in {
|
||||
flags coding=utf8 ;
|
||||
|
||||
|
||||
lincat
|
||||
Category = G.N ;
|
||||
ParameterType = G.N ;
|
||||
Parameter = G.N ;
|
||||
Modifier = G.A ;
|
||||
|
||||
Heading = {s : Str} ;
|
||||
|
||||
|
||||
lin
|
||||
noun_Category = mkN "käändsõna" ;
|
||||
adjective_Category = mkN "omadussõna" ;
|
||||
verb_Category = mkN "pöördsõna" ;
|
||||
adverb_Category = mkN "määrsõna" ;
|
||||
preposition_Category = mkN "eessõna" ;
|
||||
|
||||
finite_form_ParameterType = mkN "pöördvorm" ; ---- ???
|
||||
nominal_form_ParameterType = mkN "käändeline vorm" ;
|
||||
|
||||
singular_Parameter = mkN "ainsus" ;
|
||||
plural_Parameter = mkN "mitmus" ;
|
||||
|
||||
masculine_Parameter = mkN "maskuliin" ; ----
|
||||
feminine_Parameter = mkN "feminiin" ; ----
|
||||
neuter_Parameter = mkN "neutri" ; ----
|
||||
|
||||
nominative_Parameter = mkN "nimetav" ;
|
||||
genitive_Parameter = mkN "omastav" ;
|
||||
dative_Parameter = mkN "daativ" ;
|
||||
accusative_Parameter = mkN "akusatiiv" | mkN "sihitav" ;
|
||||
|
||||
partitive_Parameter = mkN "osastav" ;
|
||||
translative_Parameter = mkN "saav" ;
|
||||
essive_Parameter = mkN "olev" ;
|
||||
inessive_Parameter = mkN "seesütlev" ;
|
||||
elative_Parameter = mkN "seestütlev" ;
|
||||
illative_Parameter = mkN "sisseütlev" ;
|
||||
adessive_Parameter = mkN "alalütlev" ;
|
||||
ablative_Parameter = mkN "alaltütlev" ;
|
||||
allative_Parameter = mkN "alaleütlev" ;
|
||||
abessive_Parameter = mkN "ilmaütlev" ;
|
||||
comitative_Parameter = mkN "kaasaütlev" ;
|
||||
instructive_Parameter = mkN "viisiütlev" ;
|
||||
terminative_Parameter = mkN "rajav" ;
|
||||
|
||||
active_Parameter = mkN "isikuline tegumood" ;
|
||||
passive_Parameter = mkN "umbsikuline tegumood" ;
|
||||
|
||||
imperative_Parameter = mkN "käskiv" ;
|
||||
indicative_Parameter = mkN "kindel" ;
|
||||
conjunctive_Parameter = mkN "konjunktiivi" ;
|
||||
infinitive_Parameter = mkN "infinitiivi" ;
|
||||
|
||||
present_Parameter = mkN "olevik" ;
|
||||
past_Parameter = mkN "lihtminevik" ;
|
||||
future_Parameter = mkN "futuur" ; ---- ???
|
||||
conditional_Parameter = mkN "tingiv" ;
|
||||
perfect_Parameter = mkN "täisminevik" ;
|
||||
quotative_Parameter = mkN "kaudne" ;
|
||||
|
||||
participle_Parameter = mkN "kesksõna" ;
|
||||
aux_verb_Parameter = mkN "abi" (mkN "verb") ;
|
||||
agent_Parameter = mkN "tegevussubjekt" ;
|
||||
|
||||
positive_Parameter = mkN "algvõrre" | mkN "positiiv" ;
|
||||
comparative_Parameter = mkN "keskvõrre" | mkN "komparatiiv" ;
|
||||
superlative_Parameter = mkN "ülivõrre" | mkN "superlatiiv" ;
|
||||
predicative_Parameter = mkN "öeldistäide" | mkN "predikatiiv" ;
|
||||
negative_Parameter = mkN "eitav kõne" ;
|
||||
positivePol_Parameter = mkN "jaatav kõne" ;
|
||||
|
||||
long_Parameter = mkN "pikk" ;
|
||||
short_Parameter = mkN "lühike" ;
|
||||
|
||||
finite_Modifier = mkA "finiitne" ;
|
||||
|
||||
nounHeading n = ss (n.s ! NCase Sg Nom) ;
|
||||
nounPluralHeading n = ss (n.s ! NCase Pl Nom) ;
|
||||
|
||||
formGF_N = mkN "vorm" ;
|
||||
exampleGr_N = mkN "näide" ;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user