1
0
forked from GitHub/gf-core

Norwegian

This commit is contained in:
aarne
2005-01-20 14:03:48 +00:00
parent dac3d508f8
commit 51b45ae690
8 changed files with 46 additions and 15 deletions

View File

@@ -49,8 +49,8 @@ concrete StructuralDan of Structural =
ThisDet = mkDeterminerSgGender2 ["den her"] ["det her"] (DefP Indef) ;
ThatDet = mkDeterminerSgGender2 ["den der"] ["det der"] (DefP Indef) ;
TheseNumDet = mkDeterminerPlNum ["de her"] (DefP Def) ;
ThoseNumDet = mkDeterminerPlNum ["de der"] (DefP Def) ;
TheseNumDet = mkDeterminerPlNum ["de her"] (DefP Indef) ;
ThoseNumDet = mkDeterminerPlNum ["de der"] (DefP Indef) ;
HowIAdv = ss "hvor" ;
WhenIAdv = ss "hvornår" ;

View File

@@ -82,8 +82,8 @@ instance SyntaxDan of SyntaxScand = TypesDan **
auxHar = "har" ;
auxHade = "havde" ;
auxHa = "have" ;
auxSka = "skal" ;
auxSkulle = "skulle" ;
auxSka = "val" ;
auxSkulle = "ville" ;
infinAtt = "at" ;
@@ -101,4 +101,15 @@ instance SyntaxDan of SyntaxScand = TypesDan **
pronVems = "hvis" ; ---- ??
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}) ;
}

View File

@@ -33,7 +33,7 @@ lin
Prefer = extTransVerb (vNopart (vSpis "foretrækk")) [] ** {s3 = "for"} ;
Say = vNopart (mkVerb "sige" "siger" "siges" "sagde" "sagt" "sig") ;
Prove = vNopart (vSpis "bevise") ;
Prove = vNopart (vSpis "bevis") ;
SwitchOn = mkDirectVerb (vHusk "lukk" ** {s1 = "op"}) ;
SwitchOff = mkDirectVerb (vHusk "slukk" ** {s1 = []}) ;

View File

@@ -10,6 +10,7 @@
instance TypesDan of TypesScand = {
param
Gender = Utr | Neutr ;
NounGender = NUtr | NNeutr ;
oper
@@ -17,6 +18,8 @@ oper
sexNoun _ = NoMasc ;
gen2nounGen = \s -> case s of {Utr => NUtr ; Neutr => NNeutr} ;
utrum = Utr ; neutrum = Neutr ;
param
AdjFormPos = Strong GenNum | Weak ;

View File

@@ -156,7 +156,11 @@ oper
mkDeterminerSg (\\g => en ! genNoun g) ;
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,
-- instead of importing the lexicon.
@@ -281,7 +285,7 @@ oper
case n of {Sg => ASg g ; Pl => APl} ;
genGN : GenNum -> Gender = \gn ->
case gn of {ASg g => g ; _ => Utr} ;
case gn of {ASg g => g ; _ => utrum} ;
numGN : GenNum -> Number = \gn ->
case gn of {ASg _ => Sg ; APl => Pl} ;
@@ -928,7 +932,7 @@ oper
PGen _ => pronVems ;
_ => pronVem
} ;
g = Utr ;
g = utrum ;
n = num
} ;
@@ -1053,7 +1057,7 @@ oper
Imperative = SS1 Number ;
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 ->
ss (I.s ! n ++ "!") ;
@@ -1173,10 +1177,7 @@ oper
_ => Pl
} ;
conjGender : Gender -> Gender -> Gender = \m,n -> case <m,n> of {
<Utr,Utr> => Utr ;
_ => Neutr
} ;
conjGender : Gender -> Gender -> Gender ;
--2 Subjunction

View File

@@ -19,7 +19,7 @@ interface TypesScand = {
-- Their parameter values are atomic.
param
Gender = Utr | Neutr ;
Gender ;
Number = Sg | Pl ;
Species = Indef | Def ;
Case = Nom | Gen ;
@@ -46,6 +46,8 @@ param SubstForm = SF Number Species Case ;
oper Subst : Type = {s : SubstForm => Str ; h1 : Gender} ;
neutrum, utrum : Gender ;
--3 Adjectives
--
-- Adjectives are a very complex class, and the full table has as many as
@@ -84,7 +86,7 @@ param
oper
Adj : Type = {s : AdjForm => Str} ;
adverbForm : AdjFormPos = Strong (ASg Neutr) ;
adverbForm : AdjFormPos = Strong (ASg neutrum) ;
--3 Verbs
--

View File

@@ -105,4 +105,15 @@ instance SyntaxSwe of SyntaxScand = TypesSwe **
pronVems = "vems" ;
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}) ;
}

View File

@@ -10,6 +10,7 @@
instance TypesSwe of TypesScand = {
param
Gender = Utr | Neutr ;
NounGender = NUtr Sex | NNeutr ;
oper
@@ -17,6 +18,8 @@ oper
sexNoun = \s -> case s of {NUtr x => x ; NNeutr => NoMasc} ;
gen2nounGen = \s -> case s of {Utr => NUtr NoMasc ; Neutr => NNeutr} ;
utrum = Utr ; neutrum = Neutr ;
param
AdjFormPos = Strong GenNum | Weak SexNum ;