mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 19:42:50 -06:00
parametrizad Scandinavian and added Danish
This commit is contained in:
104
lib/resource/danish/SyntaxDan.gf
Normal file
104
lib/resource/danish/SyntaxDan.gf
Normal file
@@ -0,0 +1,104 @@
|
||||
--# -path=.:../scandinavian:../../prelude
|
||||
|
||||
instance SyntaxDan of SyntaxScand = TypesDan **
|
||||
open Prelude, (CO = Coordination), MorphoDan in {
|
||||
|
||||
oper
|
||||
|
||||
------ mkAdjForm
|
||||
|
||||
-- When common nouns are extracted from lexicon, the composite noun form is ignored.
|
||||
|
||||
extCommonNounMasc = extCommNoun ;
|
||||
|
||||
npMan : NounPhrase = nameNounPhrase (mkProperName "man" NUtr) ;
|
||||
npDet : NounPhrase = nameNounPhrase (mkProperName "det" NNeutr) ;
|
||||
|
||||
|
||||
mkAdjForm : Species -> Number -> NounGender -> AdjFormPos = \b,n,g ->
|
||||
case <b,n> of {
|
||||
<Indef,Sg> => Strong (ASg (genNoun g)) ;
|
||||
<Indef,Pl> => Strong APl ;
|
||||
<Def, _> => Weak
|
||||
} ;
|
||||
|
||||
deponentVerb : Verb -> Verb = \finna -> {
|
||||
s = table {
|
||||
VF (Pres m _) => finna.s ! VF (Pres m Pass) ;
|
||||
VF (Pret m _) => finna.s ! VF (Pret m Pass) ;
|
||||
VI (Inf _) => finna.s ! VI (Inf Pass) ;
|
||||
VI (Supin _) => finna.s ! VI (Supin Pass) ;
|
||||
v => finna.s ! v --- Imper !
|
||||
} ;
|
||||
s1 = finna.s1
|
||||
} ;
|
||||
|
||||
verbFinnas : Verb =
|
||||
deponentVerb (mkVerb "finde" "finder" "findes" "fandt" "fundet" "find" ** {s1 = []}) ;
|
||||
verbVara = mkVerb "være" "er" nonExist "var" "været" "vær" ** {s1 = []} ;
|
||||
verbHava = mkVerb "have" "har" "haves" "havde" "haft" "hav" ** {s1 = []} ;
|
||||
|
||||
relPronForms : RelCase => GenNum => Str = table {
|
||||
RNom => \\_ => "som" ;
|
||||
RAcc => \\_ => variants {"som" ; []} ;
|
||||
RGen => \\_ => "hvis" ;
|
||||
RPrep => pronVilken
|
||||
} ;
|
||||
|
||||
pronVilken = table {
|
||||
ASg Utr => "hvilken" ;
|
||||
ASg Neutr => "hvilket" ;
|
||||
APl => "hvilke"
|
||||
} ;
|
||||
|
||||
pronSådan = table {
|
||||
ASg Utr => "sådan" ;
|
||||
ASg Neutr => "sådant" ;
|
||||
APl => "sådanne"
|
||||
} ;
|
||||
|
||||
pronNågon = table {
|
||||
ASg Utr => "nogen" ;
|
||||
ASg Neutr => "noget" ;
|
||||
APl => "nogle"
|
||||
} ;
|
||||
|
||||
specDefPhrase : Bool -> Species = \b ->
|
||||
if_then_else Species b Indef Def ;
|
||||
|
||||
superlSpecies = Indef ;
|
||||
|
||||
artIndef = table {Utr => "en" ; Neutr => "et"} ;
|
||||
|
||||
artDef : Bool => GenNum => Str = table {
|
||||
True => table {
|
||||
ASg Utr => "den" ;
|
||||
ASg Neutr => "det" ; -- det gamla huset
|
||||
APl => variants {"de"}
|
||||
} ;
|
||||
False => table {_ => []} -- huset
|
||||
} ;
|
||||
|
||||
auxHar = "har" ;
|
||||
auxHade = "havde" ;
|
||||
auxHa = "have" ;
|
||||
auxSka = "skal" ;
|
||||
auxSkulle = "skulle" ;
|
||||
|
||||
infinAtt = "at" ;
|
||||
|
||||
varjeDet : Determiner = mkDeterminerSg (detSgInvar "hver") IndefP ;
|
||||
allaDet : Determiner = mkDeterminerPl "alle" IndefP ;
|
||||
flestaDet : Determiner = mkDeterminerPl ["de fleste"] IndefP ;
|
||||
|
||||
prepÄn = "end" ;
|
||||
negInte = "ikke" ;
|
||||
|
||||
conjOm = "hvis" ;
|
||||
|
||||
pronVars = "hvis" ;
|
||||
pronVem = "hvem" ;
|
||||
pronVems = "hvis" ; ---- ??
|
||||
pronVad = "hvad" ;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user