summaryrefslogtreecommitdiff
path: root/old-lib/resource/danish/DiffDan.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/danish/DiffDan.gf
parent3049b59b35b25381a7c6787444165c200d66e08b (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.gf86
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"
+ } ;
+
+}