forked from GitHub/gf-core
Norwegian
This commit is contained in:
@@ -49,8 +49,8 @@ concrete StructuralDan of Structural =
|
|||||||
|
|
||||||
ThisDet = mkDeterminerSgGender2 ["den her"] ["det her"] (DefP Indef) ;
|
ThisDet = mkDeterminerSgGender2 ["den her"] ["det her"] (DefP Indef) ;
|
||||||
ThatDet = mkDeterminerSgGender2 ["den der"] ["det der"] (DefP Indef) ;
|
ThatDet = mkDeterminerSgGender2 ["den der"] ["det der"] (DefP Indef) ;
|
||||||
TheseNumDet = mkDeterminerPlNum ["de her"] (DefP Def) ;
|
TheseNumDet = mkDeterminerPlNum ["de her"] (DefP Indef) ;
|
||||||
ThoseNumDet = mkDeterminerPlNum ["de der"] (DefP Def) ;
|
ThoseNumDet = mkDeterminerPlNum ["de der"] (DefP Indef) ;
|
||||||
|
|
||||||
HowIAdv = ss "hvor" ;
|
HowIAdv = ss "hvor" ;
|
||||||
WhenIAdv = ss "hvornår" ;
|
WhenIAdv = ss "hvornår" ;
|
||||||
|
|||||||
@@ -82,8 +82,8 @@ instance SyntaxDan of SyntaxScand = TypesDan **
|
|||||||
auxHar = "har" ;
|
auxHar = "har" ;
|
||||||
auxHade = "havde" ;
|
auxHade = "havde" ;
|
||||||
auxHa = "have" ;
|
auxHa = "have" ;
|
||||||
auxSka = "skal" ;
|
auxSka = "val" ;
|
||||||
auxSkulle = "skulle" ;
|
auxSkulle = "ville" ;
|
||||||
|
|
||||||
infinAtt = "at" ;
|
infinAtt = "at" ;
|
||||||
|
|
||||||
@@ -101,4 +101,15 @@ instance SyntaxDan of SyntaxScand = TypesDan **
|
|||||||
pronVems = "hvis" ; ---- ??
|
pronVems = "hvis" ; ---- ??
|
||||||
pronVad = "hvad" ;
|
pronVad = "hvad" ;
|
||||||
|
|
||||||
|
--- added with Nor
|
||||||
|
|
||||||
|
conjGender : Gender -> Gender -> Gender = \m,n ->
|
||||||
|
case <m,n> of {
|
||||||
|
<Utr,Utr> => Utr ;
|
||||||
|
_ => Neutr
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkDeterminerSgGender3 : Str -> Str -> Str -> SpeciesP -> Determiner = \en,_,ett ->
|
||||||
|
mkDeterminerSgGender (table {Utr => en ; Neutr => ett}) ;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -33,7 +33,7 @@ lin
|
|||||||
Prefer = extTransVerb (vNopart (vSpis "foretrækk")) [] ** {s3 = "for"} ;
|
Prefer = extTransVerb (vNopart (vSpis "foretrækk")) [] ** {s3 = "for"} ;
|
||||||
|
|
||||||
Say = vNopart (mkVerb "sige" "siger" "siges" "sagde" "sagt" "sig") ;
|
Say = vNopart (mkVerb "sige" "siger" "siges" "sagde" "sagt" "sig") ;
|
||||||
Prove = vNopart (vSpis "bevise") ;
|
Prove = vNopart (vSpis "bevis") ;
|
||||||
SwitchOn = mkDirectVerb (vHusk "lukk" ** {s1 = "op"}) ;
|
SwitchOn = mkDirectVerb (vHusk "lukk" ** {s1 = "op"}) ;
|
||||||
SwitchOff = mkDirectVerb (vHusk "slukk" ** {s1 = []}) ;
|
SwitchOff = mkDirectVerb (vHusk "slukk" ** {s1 = []}) ;
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
instance TypesDan of TypesScand = {
|
instance TypesDan of TypesScand = {
|
||||||
|
|
||||||
param
|
param
|
||||||
|
Gender = Utr | Neutr ;
|
||||||
NounGender = NUtr | NNeutr ;
|
NounGender = NUtr | NNeutr ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
@@ -17,6 +18,8 @@ oper
|
|||||||
sexNoun _ = NoMasc ;
|
sexNoun _ = NoMasc ;
|
||||||
gen2nounGen = \s -> case s of {Utr => NUtr ; Neutr => NNeutr} ;
|
gen2nounGen = \s -> case s of {Utr => NUtr ; Neutr => NNeutr} ;
|
||||||
|
|
||||||
|
utrum = Utr ; neutrum = Neutr ;
|
||||||
|
|
||||||
param
|
param
|
||||||
AdjFormPos = Strong GenNum | Weak ;
|
AdjFormPos = Strong GenNum | Weak ;
|
||||||
|
|
||||||
|
|||||||
@@ -156,7 +156,11 @@ oper
|
|||||||
mkDeterminerSg (\\g => en ! genNoun g) ;
|
mkDeterminerSg (\\g => en ! genNoun g) ;
|
||||||
|
|
||||||
mkDeterminerSgGender2 : Str -> Str -> SpeciesP -> Determiner = \en,ett ->
|
mkDeterminerSgGender2 : Str -> Str -> SpeciesP -> Determiner = \en,ett ->
|
||||||
mkDeterminerSgGender (table {Utr => en ; Neutr => ett}) ;
|
mkDeterminerSgGender3 en en ett ;
|
||||||
|
|
||||||
|
-- This is only needed in Norwegian.
|
||||||
|
|
||||||
|
mkDeterminerSgGender3 : Str -> Str -> Str -> SpeciesP -> Determiner ;
|
||||||
|
|
||||||
-- Here are some examples. We are in fact doing some ad hoc morphology here,
|
-- Here are some examples. We are in fact doing some ad hoc morphology here,
|
||||||
-- instead of importing the lexicon.
|
-- instead of importing the lexicon.
|
||||||
@@ -281,7 +285,7 @@ oper
|
|||||||
case n of {Sg => ASg g ; Pl => APl} ;
|
case n of {Sg => ASg g ; Pl => APl} ;
|
||||||
|
|
||||||
genGN : GenNum -> Gender = \gn ->
|
genGN : GenNum -> Gender = \gn ->
|
||||||
case gn of {ASg g => g ; _ => Utr} ;
|
case gn of {ASg g => g ; _ => utrum} ;
|
||||||
numGN : GenNum -> Number = \gn ->
|
numGN : GenNum -> Number = \gn ->
|
||||||
case gn of {ASg _ => Sg ; APl => Pl} ;
|
case gn of {ASg _ => Sg ; APl => Pl} ;
|
||||||
|
|
||||||
@@ -928,7 +932,7 @@ oper
|
|||||||
PGen _ => pronVems ;
|
PGen _ => pronVems ;
|
||||||
_ => pronVem
|
_ => pronVem
|
||||||
} ;
|
} ;
|
||||||
g = Utr ;
|
g = utrum ;
|
||||||
n = num
|
n = num
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -1053,7 +1057,7 @@ oper
|
|||||||
Imperative = SS1 Number ;
|
Imperative = SS1 Number ;
|
||||||
|
|
||||||
imperVerbPhrase : VerbPhrase -> Imperative = \titta ->
|
imperVerbPhrase : VerbPhrase -> Imperative = \titta ->
|
||||||
{s = \\n => titta.s ! VImperat ++ titta.s2 ++ titta.s3 ! VImperat ! Utr ! n} ;
|
{s = \\n => titta.s ! VImperat ++ titta.s2 ++ titta.s3 ! VImperat ! utrum ! n} ;
|
||||||
|
|
||||||
imperUtterance : Number -> Imperative -> Utterance = \n,I ->
|
imperUtterance : Number -> Imperative -> Utterance = \n,I ->
|
||||||
ss (I.s ! n ++ "!") ;
|
ss (I.s ! n ++ "!") ;
|
||||||
@@ -1173,10 +1177,7 @@ oper
|
|||||||
_ => Pl
|
_ => Pl
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
conjGender : Gender -> Gender -> Gender = \m,n -> case <m,n> of {
|
conjGender : Gender -> Gender -> Gender ;
|
||||||
<Utr,Utr> => Utr ;
|
|
||||||
_ => Neutr
|
|
||||||
} ;
|
|
||||||
|
|
||||||
|
|
||||||
--2 Subjunction
|
--2 Subjunction
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ interface TypesScand = {
|
|||||||
-- Their parameter values are atomic.
|
-- Their parameter values are atomic.
|
||||||
|
|
||||||
param
|
param
|
||||||
Gender = Utr | Neutr ;
|
Gender ;
|
||||||
Number = Sg | Pl ;
|
Number = Sg | Pl ;
|
||||||
Species = Indef | Def ;
|
Species = Indef | Def ;
|
||||||
Case = Nom | Gen ;
|
Case = Nom | Gen ;
|
||||||
@@ -46,6 +46,8 @@ param SubstForm = SF Number Species Case ;
|
|||||||
|
|
||||||
oper Subst : Type = {s : SubstForm => Str ; h1 : Gender} ;
|
oper Subst : Type = {s : SubstForm => Str ; h1 : Gender} ;
|
||||||
|
|
||||||
|
neutrum, utrum : Gender ;
|
||||||
|
|
||||||
--3 Adjectives
|
--3 Adjectives
|
||||||
--
|
--
|
||||||
-- Adjectives are a very complex class, and the full table has as many as
|
-- Adjectives are a very complex class, and the full table has as many as
|
||||||
@@ -84,7 +86,7 @@ param
|
|||||||
oper
|
oper
|
||||||
Adj : Type = {s : AdjForm => Str} ;
|
Adj : Type = {s : AdjForm => Str} ;
|
||||||
|
|
||||||
adverbForm : AdjFormPos = Strong (ASg Neutr) ;
|
adverbForm : AdjFormPos = Strong (ASg neutrum) ;
|
||||||
|
|
||||||
--3 Verbs
|
--3 Verbs
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -105,4 +105,15 @@ instance SyntaxSwe of SyntaxScand = TypesSwe **
|
|||||||
pronVems = "vems" ;
|
pronVems = "vems" ;
|
||||||
pronVad = "vad" ;
|
pronVad = "vad" ;
|
||||||
|
|
||||||
|
--- added with Nor
|
||||||
|
|
||||||
|
conjGender : Gender -> Gender -> Gender = \m,n ->
|
||||||
|
case <m,n> of {
|
||||||
|
<Utr,Utr> => Utr ;
|
||||||
|
_ => Neutr
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkDeterminerSgGender3 : Str -> Str -> Str -> SpeciesP -> Determiner = \en,_,ett ->
|
||||||
|
mkDeterminerSgGender (table {Utr => en ; Neutr => ett}) ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
instance TypesSwe of TypesScand = {
|
instance TypesSwe of TypesScand = {
|
||||||
|
|
||||||
param
|
param
|
||||||
|
Gender = Utr | Neutr ;
|
||||||
NounGender = NUtr Sex | NNeutr ;
|
NounGender = NUtr Sex | NNeutr ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
@@ -17,6 +18,8 @@ oper
|
|||||||
sexNoun = \s -> case s of {NUtr x => x ; NNeutr => NoMasc} ;
|
sexNoun = \s -> case s of {NUtr x => x ; NNeutr => NoMasc} ;
|
||||||
gen2nounGen = \s -> case s of {Utr => NUtr NoMasc ; Neutr => NNeutr} ;
|
gen2nounGen = \s -> case s of {Utr => NUtr NoMasc ; Neutr => NNeutr} ;
|
||||||
|
|
||||||
|
utrum = Utr ; neutrum = Neutr ;
|
||||||
|
|
||||||
param
|
param
|
||||||
AdjFormPos = Strong GenNum | Weak SexNum ;
|
AdjFormPos = Strong GenNum | Weak SexNum ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user