diff options
| author | aarne <aarne@chalmers.se> | 2009-06-22 15:39:08 +0000 |
|---|---|---|
| committer | aarne <aarne@chalmers.se> | 2009-06-22 15:39:08 +0000 |
| commit | e89fdae2fa1626348d8025824a7469252fa85e42 (patch) | |
| tree | c7d46bbd0494043b4bd6f917a25a7687517d0547 /old-lib/resource/finnish/ExtraFin.gf | |
| parent | 3049b59b35b25381a7c6787444165c200d66e08b (diff) | |
next-lib renamed to lib, lib to old-lib
Diffstat (limited to 'old-lib/resource/finnish/ExtraFin.gf')
| -rw-r--r-- | old-lib/resource/finnish/ExtraFin.gf | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/old-lib/resource/finnish/ExtraFin.gf b/old-lib/resource/finnish/ExtraFin.gf new file mode 100644 index 000000000..ddacea698 --- /dev/null +++ b/old-lib/resource/finnish/ExtraFin.gf @@ -0,0 +1,79 @@ +--# -path=.:abstract:common:prelude + +concrete ExtraFin of ExtraFinAbs = CatFin ** + open ResFin, MorphoFin, Coordination, Prelude, NounFin, StructuralFin in { + + lin + GenNP np = { + s1 = \\_,_ => np.s ! NPCase Gen ; + s2 = [] ; + isNum = False ; + isPoss = False ; + isDef = True --- "Jussin kolme autoa ovat" ; thus "...on" is missing + } ; + + + lincat + VPI = {s : Str} ; + [VPI] = {s1,s2 : Str} ; + lin + BaseVPI = twoSS ; + ConsVPI = consrSS comma ; + + MkVPI vp = {s = infVP (NPCase Nom) Pos (agrP3 Sg) vp Inf1} ; + ConjVPI = conjunctDistrSS ; + ComplVPIVV vv vpi = + insertObj (\\_,_,_ => vpi.s) (predV vv) ; + + AdvExistNP adv np = + mkClause (\_ -> adv.s) np.a (insertObj + (\\_,b,_ => np.s ! NPCase Nom) (predV (verbOlla ** {sc = NPCase Nom ; qp = "ko"}))) ; + + RelExistNP prep rp np = { + s = \\t,ant,bo,ag => + let cl = + mkClause + (\_ -> appCompl True Pos prep (rp2np ag.n rp)) + np.a + (insertObj + (\\_,b,_ => np.s ! NPCase Nom) + (predV (verbOlla ** {sc = NPCase Nom ; qp = "ko"}))) ; + in + cl.s ! t ! ant ! bo ! SDecl ; + c = NPCase Nom + } ; + + AdvPredNP adv v np = + mkClause (\_ -> adv.s) np.a (insertObj + (\\_,b,_ => np.s ! NPCase Nom) (predV v)) ; + + i_implicPron = mkPronoun [] "minun" "minua" "minuna" "minuun" Sg P1 ; + whatPart_IP = { + s = table { + NPCase Nom | NPAcc => "mitä" ; + c => whatSg_IP.s ! c + } ; + n = Sg + } ; + + PartCN cn = + let + acn = DetArtSg IndefArt cn + in { + s = table { + NPCase Nom | NPAcc => acn.s ! NPCase Part ; + c => acn.s ! c + } ; + a = acn.a ; + isPron = False + } ; + + + vai_Conj = {s1 = [] ; s2 = "vai" ; n = Sg} ; + + + CompPartAP ap = { + s = \\agr => ap.s ! False ! AN (NCase agr.n Part) + } ; + +} |
