summaryrefslogtreecommitdiff
path: root/old-lib/resource/finnish/ExtraFin.gf
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2009-06-22 15:39:08 +0000
committeraarne <aarne@chalmers.se>2009-06-22 15:39:08 +0000
commite89fdae2fa1626348d8025824a7469252fa85e42 (patch)
treec7d46bbd0494043b4bd6f917a25a7687517d0547 /old-lib/resource/finnish/ExtraFin.gf
parent3049b59b35b25381a7c6787444165c200d66e08b (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.gf79
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)
+ } ;
+
+}