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/danish/DiffDan.gf | |
| parent | 3049b59b35b25381a7c6787444165c200d66e08b (diff) | |
next-lib renamed to lib, lib to old-lib
Diffstat (limited to 'old-lib/resource/danish/DiffDan.gf')
| -rw-r--r-- | old-lib/resource/danish/DiffDan.gf | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/old-lib/resource/danish/DiffDan.gf b/old-lib/resource/danish/DiffDan.gf new file mode 100644 index 000000000..2309efd3a --- /dev/null +++ b/old-lib/resource/danish/DiffDan.gf @@ -0,0 +1,86 @@ +instance DiffDan of DiffScand = open CommonScand, Prelude in { + +-- Parameters. + + param + Gender = Utr | Neutr ; + + oper + utrum = Utr ; + neutrum = Neutr ; + + gennum : Gender -> Number -> GenNum = \g,n -> + case <<g,n> : Gender * Number> of { + <Utr, Sg> => SgUtr ; + <Neutr,Sg> => SgNeutr ; + _ => Plg + } ; + + detDef : Species = Indef ; + + Verb : Type = { + s : VForm => Str ; + part : Str ; + vtype : VType ; + isVaere : Bool + } ; + + hasAuxBe v = v.isVaere ; + +-- Strings. + + conjThat = "at" ; + conjThan = "end" ; + conjAnd = "og" ; + infMark = "at" ; + compMore = "mere" ; + + subjIf = "hvis" ; + + artIndef : Gender => Str = table { + Utr => "en" ; + Neutr => "et" + } ; + + verbHave = + mkVerb "have" "har" "hav" "havde" "haft" "haven" "havet" "havne" ** + {part = [] ; isVaere = False} ; + verbBe = + mkVerb "være" "er" "var" "var" "været" "væren" "været" "værne" ** + {part = [] ; isVaere = False} ; + verbBecome = + mkVerb "blive" "bliver" "bliv" "blev" "blevet" + "bliven" "blivet" "blivne" ** + {part = [] ; isVaere = True} ; + + auxFut = "vil" ; -- "skal" in ExtDan + auxCond = "ville" ; + + negation : Polarity => Str = table { + Pos => [] ; + Neg => "ikke" + } ; + + genderForms : (x1,x2 : Str) -> Gender => Str = \all,allt -> + table { + Utr => all ; + Neutr => allt + } ; + + relPron : GenNum => RCase => Str = \\gn,c => case c of { + RNom | RPrep False => "som" ; + RGen => "hvis" ; + RPrep _ => gennumForms "hvilken" "hvilket" "hvilke" ! gn + } ; + + pronSuch = gennumForms "sådan" "sådant" "sådanne" ; + + reflPron : Agr -> Str = \a -> case a of { + {gn = Plg ; p = P1} => "oss" ; + {gn = Plg ; p = P2} => "jer" ; + {p = P1} => "mig" ; + {p = P2} => "dig" ; + {p = P3} => "sig" + } ; + +} |
