summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--next-lib/src/bulgarian/IdiomBul.gf15
-rw-r--r--next-lib/src/bulgarian/ResBul.gf15
-rw-r--r--next-lib/src/catalan/BeschCat.gf32
-rw-r--r--next-lib/src/catalan/LexiconCat.gf2
-rw-r--r--next-lib/src/catalan/StructuralCat.gf2
-rw-r--r--next-lib/src/finnish/ResFin.gf2
-rw-r--r--next-lib/src/finnish/StructuralFin.gf4
-rw-r--r--next-lib/src/german/CatGer.gf1
-rw-r--r--next-lib/src/german/ResGer.gf7
-rw-r--r--next-lib/src/hindi/SymbolHin.gf41
-rw-r--r--next-lib/src/interlingua/ResIna.gf17
-rw-r--r--next-lib/src/interlingua/SymbolIna.gf41
-rw-r--r--next-lib/src/italian/StructuralIta.gf3
-rw-r--r--next-lib/src/russian/SentenceRus.gf24
-rw-r--r--next-lib/src/russian/SymbolRus.gf41
-rw-r--r--next-lib/src/scandinavian/CommonScand.gf6
-rw-r--r--next-lib/src/scandinavian/NounScand.gf4
-rw-r--r--src/GF/Compile/CheckGrammar.hs6
18 files changed, 198 insertions, 65 deletions
diff --git a/next-lib/src/bulgarian/IdiomBul.gf b/next-lib/src/bulgarian/IdiomBul.gf
index cd22f7908..09c989fe1 100644
--- a/next-lib/src/bulgarian/IdiomBul.gf
+++ b/next-lib/src/bulgarian/IdiomBul.gf
@@ -33,13 +33,14 @@ concrete IdiomBul of Idiom = CatBul ** open Prelude, ParadigmsBul, ResBul in {
v : {aux1:Str; aux2:Str; main:Str}
= case <t,a> of {
- <Pres,Simul> => {aux1=[]; aux2=[]; main=present} ;
- <Pres,Anter> => {aux1=[]; aux2=auxPres; main=perfect} ;
- <Past,Simul> => {aux1=[]; aux2=[]; main=aorist} ;
- <Past,Anter> => {aux1=[]; aux2=auxAorist; main=perfect} ;
- <Fut, Simul> => {aux1="ùå"; aux2=[]; main=present} ;
- <Fut, Anter> => {aux1="ùå"++auxPres; aux2=[]; main=perfect} ;
- <Cond,_> => {aux1=auxCondS; aux2=[]; main=perfect}
+ <Pres,Simul> => {aux1=[]; aux2=[]; main=present}
+ ; --# notpresent
+ <Pres,Anter> => {aux1=[]; aux2=auxPres; main=perfect} ; --# notpresent
+ <Past,Simul> => {aux1=[]; aux2=[]; main=aorist} ; --# notpresent
+ <Past,Anter> => {aux1=[]; aux2=auxAorist; main=perfect} ; --# notpresent
+ <Fut, Simul> => {aux1="ùå"; aux2=[]; main=present} ; --# notpresent
+ <Fut, Anter> => {aux1="ùå"++auxPres; aux2=[]; main=perfect} ; --# notpresent
+ <Cond,_> => {aux1=auxCondS; aux2=[]; main=perfect} --# notpresent
} ;
in case o of {
diff --git a/next-lib/src/bulgarian/ResBul.gf b/next-lib/src/bulgarian/ResBul.gf
index c26a92824..527dceef4 100644
--- a/next-lib/src/bulgarian/ResBul.gf
+++ b/next-lib/src/bulgarian/ResBul.gf
@@ -454,13 +454,14 @@ resource ResBul = ParamX ** open Prelude in {
verbs : {aux:{s1:Str; s2:Str}; main:Str} =
case <t,a> of {
- <Pres,Simul> => {aux=vf2 clitic.s; main=presentImperf} ;
- <Pres,Anter> => {aux=vf1 clitic.s; main=perfect} ;
- <Past,Simul> => {aux=vf2 clitic.s; main=aorist} ;
- <Past,Anter> => {aux=vf4 auxAorist; main=perfect} ;
- <Fut, Simul> => {aux=vf3 clitic.s; main=present} ;
- <Fut, Anter> => {aux=vf3 (apc []); main=perfect} ;
- <Cond,_ > => {aux=vf4 auxCond ; main=perfect}
+ <Pres,Simul> => {aux=vf2 clitic.s; main=presentImperf}
+ ; --# notpresent
+ <Pres,Anter> => {aux=vf1 clitic.s; main=perfect} ; --# notpresent
+ <Past,Simul> => {aux=vf2 clitic.s; main=aorist} ; --# notpresent
+ <Past,Anter> => {aux=vf4 auxAorist; main=perfect} ; --# notpresent
+ <Fut, Simul> => {aux=vf3 clitic.s; main=present} ; --# notpresent
+ <Fut, Anter> => {aux=vf3 (apc []); main=perfect} ; --# notpresent
+ <Cond,_ > => {aux=vf4 auxCond ; main=perfect} --# notpresent
}
in verb.ad.s ++ li0 ++ verbs.aux.s1 ++ verbs.main ++ verbs.aux.s2 ;
diff --git a/next-lib/src/catalan/BeschCat.gf b/next-lib/src/catalan/BeschCat.gf
index cd7fe650c..43f8c7061 100644
--- a/next-lib/src/catalan/BeschCat.gf
+++ b/next-lib/src/catalan/BeschCat.gf
@@ -2026,6 +2026,9 @@ let x_ = Predef.tk 5 deure in
VP (Pass Sg Fem) => x_ + "guda" ;
VP (Pass Pl Masc) => x_ + "guts" ;
VP (Pass Sg Masc) => x_ + "gut" ;
+
+
+{- -- AR removed these duplicates
VI Infn => x_ + "ure" ;
VI Ger => x_ + "vent" ;
VI Part => x_ + "gut" ;
@@ -2075,6 +2078,7 @@ let x_ = Predef.tk 5 deure in
VP (Pass Sg Fem) => x_ + "guda" ;
VP (Pass Pl Masc) => x_ + "guts" ;
VP (Pass Sg Masc) => x_ + "gut" ;
+-}
VP (Imp Sg P1) => variants {}
}
} ;
@@ -4912,14 +4916,14 @@ let s_ = Predef.tk 4 seure in
VP (Pres Ind Sg P3) => s_ + "eu" ;
VP (Pres Sub Pl P1) => s_ + "eguem" ;
VP (Pres Sub Sg P1) => s_ + "ega" ;
- VP (Pres Sub Sg P1) => s_ + "egui" ;
+-- VP (Pres Sub Sg P1) => s_ + "egui" ;
VP (Pres Sub Pl P2) => s_ + "egueu" ;
VP (Pres Sub Sg P2) => s_ + "egues" ;
- VP (Pres Sub Sg P2) => s_ + "eguis" ;
+-- VP (Pres Sub Sg P2) => s_ + "eguis" ;
VP (Pres Sub Pl P3) => s_ + "eguen" ;
- VP (Pres Sub Pl P3) => s_ + "eguin" ;
+-- VP (Pres Sub Pl P3) => s_ + "eguin" ;
VP (Pres Sub Sg P3) => s_ + "ega" ;
- VP (Pres Sub Sg P3) => s_ + "egui" ;
+-- VP (Pres Sub Sg P3) => s_ + "egui" ; -- AR: why duplicated forms?
VP (Impf Ind Sg P1) => s_ + "eia" ;--# notpresent
VP (Impf Ind Sg P2) => s_ + "eies" ;--# notpresent
VP (Impf Ind Pl P3) => s_ + "eien" ;--# notpresent
@@ -4958,9 +4962,9 @@ let s_ = Predef.tk 4 seure in
VP (Imp Pl P2) => s_ + "eieu" ;
VP (Imp Sg P2) => s_ + "eu" ;
VP (Imp Pl P3) => s_ + "eguen" ;
- VP (Imp Pl P3) => s_ + "eguin" ;
+-- VP (Imp Pl P3) => s_ + "eguin" ;
VP (Imp Sg P3) => s_ + "ega" ;
- VP (Imp Sg P3) => s_ + "egui" ;
+-- VP (Imp Sg P3) => s_ + "egui" ;
VP (Pass Pl Fem) => s_ + "egudes" ;
VP (Pass Sg Fem) => s_ + "eguda" ;
VP (Pass Pl Masc) => s_ + "eguts" ;
@@ -5345,7 +5349,7 @@ let t_ = Predef.tk 5 tòrcer in
{s = table {
VI Ger => t_ + "orcent" ;
VI Part => t_ + "ort" ;
- VI Part => t_ + "orçut" ;
+-- VI Part => t_ + "orçut" ; -- AR why duplicate?
VP (Pres Ind Pl P1) => t_ + "orcem" ;
VP (Pres Ind Sg P1) => t_ + "orcem" ;
VP (Pres Ind Pl P2) => t_ + "orceu" ;
@@ -5398,17 +5402,17 @@ let t_ = Predef.tk 5 tòrcer in
VP (Imp Pl P2) => t_ + "orceu" ;
VP (Imp Sg P2) => t_ + "orç" ;
VP (Imp Pl P3) => t_ + "orcen" ;
- VP (Imp Pl P3) => t_ + "orcin" ;
+-- VP (Imp Pl P3) => t_ + "orcin" ;
VP (Imp Sg P3) => t_ + "orci" ;
- VP (Imp Sg P3) => t_ + "orça" ;
+-- VP (Imp Sg P3) => t_ + "orça" ;
VP (Pass Pl Fem) => t_ + "ortes" ;
- VP (Pass Pl Fem) => t_ + "orçudes" ;
+-- VP (Pass Pl Fem) => t_ + "orçudes" ;
VP (Pass Sg Fem) => t_ + "orta" ;
- VP (Pass Sg Fem) => t_ + "orçuda" ;
+-- VP (Pass Sg Fem) => t_ + "orçuda" ;
VP (Pass Pl Masc) => t_ + "orts" ;
- VP (Pass Pl Masc) => t_ + "orçuts" ;
+-- VP (Pass Pl Masc) => t_ + "orçuts" ;
VP (Pass Sg Masc) => t_ + "ort" ;
- VP (Pass Sg Masc) => t_ + "orçut" ;
+-- VP (Pass Sg Masc) => t_ + "orçut" ;
VI Infn => t_ + "òrcer" ;
VP (Imp Sg P1) => variants {}
}
@@ -5960,6 +5964,7 @@ let x_ = Predef.tk 5 voler in
VP (Pass Sg Fem) => x_ + "olguda" ;
VP (Pass Pl Masc) => x_ + "olguts" ;
VP (Pass Sg Masc) => x_ + "olgut" ;
+{- AR commented out duplicates 22/6/2009
VI Infn => x_ + "oler" ;
VI Ger => x_ + "olent" ;
VI Part => x_ + "olgut" ;
@@ -6014,6 +6019,7 @@ let x_ = Predef.tk 5 voler in
VP (Pass Sg Fem) => x_ + "olguda" ;
VP (Pass Pl Masc) => x_ + "olguts" ;
VP (Pass Sg Masc) => x_ + "olgut" ;
+-}
VP (Imp Sg P1) => variants {}
}
} ;
diff --git a/next-lib/src/catalan/LexiconCat.gf b/next-lib/src/catalan/LexiconCat.gf
index 54902786d..053b80d43 100644
--- a/next-lib/src/catalan/LexiconCat.gf
+++ b/next-lib/src/catalan/LexiconCat.gf
@@ -360,6 +360,6 @@ lin
ready_A = regA "preparat" ;
reason_N = regFN "raó" ;
uncertain_A = regA "incert" ;
- have_V2 = dirV2 (verbV (tenir_108 "tenir")) ;
+
} ;
diff --git a/next-lib/src/catalan/StructuralCat.gf b/next-lib/src/catalan/StructuralCat.gf
index f32d69b27..f1b1f2f5a 100644
--- a/next-lib/src/catalan/StructuralCat.gf
+++ b/next-lib/src/catalan/StructuralCat.gf
@@ -161,7 +161,7 @@ lin
"vosté" "li" "li" "vosté"
["el seu"] ["la seva"] ["els seus"] ["les seves"]
Fem Pl P2 ;
-
+ have_V2 = dirV2 (verbV (tenir_108 "tenir")) ;
oper
etConj : {s : Str ; n : MorphoCat.Number} = {s = "i" } ** {n = Pl} ;
diff --git a/next-lib/src/finnish/ResFin.gf b/next-lib/src/finnish/ResFin.gf
index e81238000..17384ec71 100644
--- a/next-lib/src/finnish/ResFin.gf
+++ b/next-lib/src/finnish/ResFin.gf
@@ -273,7 +273,7 @@ oper
case p of {
Neg => "kö" ; -- eikö tule
_ => case a of {
- Anter => "ko" ; -- onko mennyt
+ Anter => "ko" ; -- onko mennyt --# notpresent
_ => vp.qp -- tuleeko, meneekö
}
} ;
diff --git a/next-lib/src/finnish/StructuralFin.gf b/next-lib/src/finnish/StructuralFin.gf
index 58b7fc2e9..7a08acd81 100644
--- a/next-lib/src/finnish/StructuralFin.gf
+++ b/next-lib/src/finnish/StructuralFin.gf
@@ -276,10 +276,6 @@ oper
lin
not_Predet = {s = \\_,_ => "vain"} ;
- nothing_but_Predet =
- {s = \\n,c => "ei" ++ mikaanPron ! n ! npform2case n c ++ "paitsi"} ;
- nobody_but_Predet =
- {s = \\n,c => "ei" ++ kukaanPron ! n ! npform2case n c ++ "paitsi"} ;
no_Quant = heavyQuant {
s1 = \\n,c => "ei" ++ mikaanPron ! n ! c ;
diff --git a/next-lib/src/german/CatGer.gf b/next-lib/src/german/CatGer.gf
index 737b1d0c1..e1dae718b 100644
--- a/next-lib/src/german/CatGer.gf
+++ b/next-lib/src/german/CatGer.gf
@@ -56,7 +56,6 @@ concrete CatGer of Cat =
sp : Number => Gender => Case => Str ;
a : Adjf
} ;
- Art = {s : Bool => Number => Gender => Case => Str ; a : Adjf} ;
Predet = {s : Number => Gender => Case => Str ; c : PredetCase} ;
Num = {s : Gender => Case => Str ; n : Number ; isNum : Bool} ;
Card = {s : Gender => Case => Str ; n : Number} ;
diff --git a/next-lib/src/german/ResGer.gf b/next-lib/src/german/ResGer.gf
index 10c72082c..5677ab106 100644
--- a/next-lib/src/german/ResGer.gf
+++ b/next-lib/src/german/ResGer.gf
@@ -143,11 +143,10 @@ resource ResGer = ParamX ** open Prelude in {
vFin : Bool -> Mood -> Tense -> Agr -> VForm = \b,m,t,a ->
case <t,m> of {
- <Pres,MIndic> => VFin b (VPresInd a.n a.p) ;
- <Pres,MConjunct> => VFin b (VPresSubj a.n a.p) ;
<Past,MIndic> => VFin b (VImpfInd a.n a.p) ; --# notpresent
- <Past,MConjunct> => VFin b (VImpfSubj a.n a.p) ; --# notpresent
- _ => VInf False --- never used
+ <Past,MConjunct> => VFin b (VImpfSubj a.n a.p) ; --# notpresent
+ <Pres,MIndic> => VFin b (VPresInd a.n a.p) ;
+ <Pres,MConjunct> => VFin b (VPresSubj a.n a.p)
} ;
conjAgr : Agr -> Agr -> Agr = \a,b -> {
diff --git a/next-lib/src/hindi/SymbolHin.gf b/next-lib/src/hindi/SymbolHin.gf
new file mode 100644
index 000000000..f972c60a3
--- /dev/null
+++ b/next-lib/src/hindi/SymbolHin.gf
@@ -0,0 +1,41 @@
+--# -path=.:abstract:common
+
+concrete SymbolHin of Symbol = CatHin ** open Prelude, ResHin in {
+
+{- TODO!
+lin
+ SymbPN i = {s = addGenitiveS i.s ; g = Neutr} ;
+ IntPN i = {s = addGenitiveS i.s ; g = Neutr} ;
+ FloatPN i = {s = addGenitiveS i.s ; g = Neutr} ;
+ NumPN i = {s = i.s ; g = Neutr} ;
+ CNIntNP cn i = {
+ s = \\c => cn.s ! Sg ! Nom ++ (addGenitiveS i.s) ! c ;
+ a = agrgP3 Sg cn.g
+ } ;
+ CNSymbNP det cn xs = {
+ s = \\c => det.s ++ cn.s ! det.n ! Nom ++ (addGenitiveS xs.s) ! c ;
+ a = agrgP3 det.n cn.g
+ } ;
+ CNNumNP cn i = {
+ s = \\c => cn.s ! Sg ! Nom ++ i.s ! c ;
+ a = agrgP3 Sg cn.g
+ } ;
+
+ SymbS sy = sy ;
+
+ SymbNum sy = { s = addGenitiveS sy.s ; n = Pl ; hasCard = True } ;
+ SymbOrd sy = { s = \\c => sy.s ++ (regGenitiveS "th")!c} ;
+-}
+
+lincat
+
+ Symb, [Symb] = SS ;
+
+lin
+ MkSymb s = s ;
+
+-- BaseSymb = infixSS "and" ;
+ ConsSymb = infixSS "," ;
+
+
+}
diff --git a/next-lib/src/interlingua/ResIna.gf b/next-lib/src/interlingua/ResIna.gf
index 9eb64bce4..e464db6b4 100644
--- a/next-lib/src/interlingua/ResIna.gf
+++ b/next-lib/src/interlingua/ResIna.gf
@@ -115,9 +115,9 @@ resource ResIna = ParamX ** open Prelude in {
s = table {
VInf => crear;
VPres => crea;
- VPast => crea + "va";
- VFut => crear + "a";
- VCond => crear + "ea";
+ VPast => crea + "va"; --# notpresent
+ VFut => crear + "a"; --# notpresent
+ VCond => crear + "ea"; --# notpresent
VPPart => case crear of {
rid + "er" => rid + "ite";
_ => crea + "te"
@@ -134,9 +134,9 @@ resource ResIna = ParamX ** open Prelude in {
s = case use_irreg of {
True => table {
VPres => "es";
- VFut => "sera";
- VCond => "serea";
- VPast => "era";
+ VFut => "sera"; --# notpresent
+ VCond => "serea"; --# notpresent
+ VPast => "era"; --# notpresent
form => reg.s!form
};
False => reg.s
@@ -233,8 +233,9 @@ resource ResIna = ParamX ** open Prelude in {
clitics = \\_ => [];
rest = \\_ => [];
s = table
- {Simul => \\t,use_irreg => {fin = (verb!use_irreg).s ! (tenseToVFrom!t); inf = []};
- Anter => \\t,use_irreg => {fin = (haberV!use_irreg).s ! (tenseToVFrom!t); inf = (verb!use_irreg).s!VPPart}
+ {Simul => \\t,use_irreg => {fin = (verb!use_irreg).s ! (tenseToVFrom!t); inf = []}
+ ; --# notpresent
+ Anter => \\t,use_irreg => {fin = (haberV!use_irreg).s ! (tenseToVFrom!t); inf = (verb!use_irreg).s!VPPart} --# notpresent
};
prp = (verb!False).s ! VPresPart;
inf = (verb!False).s ! VInf;
diff --git a/next-lib/src/interlingua/SymbolIna.gf b/next-lib/src/interlingua/SymbolIna.gf
new file mode 100644
index 000000000..1ea8b5841
--- /dev/null
+++ b/next-lib/src/interlingua/SymbolIna.gf
@@ -0,0 +1,41 @@
+--# -path=.:abstract:common
+
+concrete SymbolIna of Symbol = CatIna ** open Prelude, ResIna in {
+
+{- TODO!
+lin
+ SymbPN i = {s = addGenitiveS i.s ; g = Neutr} ;
+ IntPN i = {s = addGenitiveS i.s ; g = Neutr} ;
+ FloatPN i = {s = addGenitiveS i.s ; g = Neutr} ;
+ NumPN i = {s = i.s ; g = Neutr} ;
+ CNIntNP cn i = {
+ s = \\c => cn.s ! Sg ! Nom ++ (addGenitiveS i.s) ! c ;
+ a = agrgP3 Sg cn.g
+ } ;
+ CNSymbNP det cn xs = {
+ s = \\c => det.s ++ cn.s ! det.n ! Nom ++ (addGenitiveS xs.s) ! c ;
+ a = agrgP3 det.n cn.g
+ } ;
+ CNNumNP cn i = {
+ s = \\c => cn.s ! Sg ! Nom ++ i.s ! c ;
+ a = agrgP3 Sg cn.g
+ } ;
+
+ SymbS sy = sy ;
+
+ SymbNum sy = { s = addGenitiveS sy.s ; n = Pl ; hasCard = True } ;
+ SymbOrd sy = { s = \\c => sy.s ++ (regGenitiveS "th")!c} ;
+-}
+
+lincat
+
+ Symb, [Symb] = SS ;
+
+lin
+ MkSymb s = s ;
+
+-- BaseSymb = infixSS "and" ;
+ ConsSymb = infixSS "," ;
+
+
+}
diff --git a/next-lib/src/italian/StructuralIta.gf b/next-lib/src/italian/StructuralIta.gf
index 313dad334..1e46b9bbd 100644
--- a/next-lib/src/italian/StructuralIta.gf
+++ b/next-lib/src/italian/StructuralIta.gf
@@ -153,9 +153,6 @@ lin
"Lei" "La" "Le" "Glie" "Lei" "Suo" "Sua" "Suoi" "Sue"
Masc Sg P3 ;
not_Predet = {s = \\a,c => prepCase c ++ "non" ; c = Nom} ;
- nothing_but_Predet = {s = \\a,c => prepCase c ++ "niente eccetto" ; c = Nom} ;
- nobody_but_Predet = {s = \\a,c => prepCase c ++ "nessun eccetto" ; c = Nom} ;
-
no_Quant =
let aucun : ParadigmsIta.Number => ParadigmsIta.Gender => Case => Str = table {
diff --git a/next-lib/src/russian/SentenceRus.gf b/next-lib/src/russian/SentenceRus.gf
index 0c15b3d5d..79d691ccd 100644
--- a/next-lib/src/russian/SentenceRus.gf
+++ b/next-lib/src/russian/SentenceRus.gf
@@ -97,24 +97,32 @@ concrete SentenceRus of Sentence = CatRus ** open Prelude, ResRus in {
UseCl t p cl = {s = case t.t of {
Cond => cl.s! p.p ! ClCondit ; --# notpresent
- Pres => cl.s! p.p ! ClIndic Present t.a ; ---- AR work-around 13/12/2007
- _ => cl.s! p.p ! ClIndic (getTense t.t) t.a}};
+ Pres => cl.s! p.p ! ClIndic Present t.a ---- AR work-around 13/12/2007
+ ; --# notpresent
+ _ => cl.s! p.p ! ClIndic (getTense t.t) t.a --# notpresent
+ }
+ };
UseQCl t p qcl= {s = case t.t of {
Cond => qcl.s! p.p ! ClCondit ; --# notpresent
- Pres => qcl.s! p.p ! ClIndic Present t.a ;
- _ => qcl.s!p.p! ClIndic (getTense t.t) t.a }};
+ Pres => qcl.s! p.p ! ClIndic Present t.a
+ ; --# notpresent
+ _ => qcl.s!p.p! ClIndic (getTense t.t) t.a --# notpresent
+ }};
UseRCl t p rcl ={s = \\gn,c,anim => case t.t of {
Cond => [", "] ++ rcl.s! p.p ! ClCondit ! gn !c !anim ; --# notpresent
- Pres => [", "] ++ rcl.s! p.p ! ClIndic Present t.a !gn !c !anim;
- _ => [", "] ++ rcl.s! p.p ! ClIndic (getTense t.t) t.a !gn !c !anim}};
+ Pres => [", "] ++ rcl.s! p.p ! ClIndic Present t.a !gn !c !anim
+ ; --# notpresent
+ _ => [", "] ++ rcl.s! p.p ! ClIndic (getTense t.t) t.a !gn !c !anim --# notpresent
+ }};
UseSlash t p cl = {
s = case t.t of {
Cond => cl.s! p.p ! ClCondit ; --# notpresent
- Pres => cl.s! p.p ! ClIndic Present t.a ;
- _ => cl.s! p.p ! ClIndic (getTense t.t) t.a
+ Pres => cl.s! p.p ! ClIndic Present t.a
+ ; --# notpresent
+ _ => cl.s! p.p ! ClIndic (getTense t.t) t.a --# notpresent
} ;
s2 = cl.s2 ;
c = cl.c
diff --git a/next-lib/src/russian/SymbolRus.gf b/next-lib/src/russian/SymbolRus.gf
new file mode 100644
index 000000000..54355374a
--- /dev/null
+++ b/next-lib/src/russian/SymbolRus.gf
@@ -0,0 +1,41 @@
+--# -path=.:abstract:common
+
+concrete SymbolRus of Symbol = CatRus ** open Prelude, ResRus in {
+
+{- TODO!
+lin
+ SymbPN i = {s = addGenitiveS i.s ; g = Neutr} ;
+ IntPN i = {s = addGenitiveS i.s ; g = Neutr} ;
+ FloatPN i = {s = addGenitiveS i.s ; g = Neutr} ;
+ NumPN i = {s = i.s ; g = Neutr} ;
+ CNIntNP cn i = {
+ s = \\c => cn.s ! Sg ! Nom ++ (addGenitiveS i.s) ! c ;
+ a = agrgP3 Sg cn.g
+ } ;
+ CNSymbNP det cn xs = {
+ s = \\c => det.s ++ cn.s ! det.n ! Nom ++ (addGenitiveS xs.s) ! c ;
+ a = agrgP3 det.n cn.g
+ } ;
+ CNNumNP cn i = {
+ s = \\c => cn.s ! Sg ! Nom ++ i.s ! c ;
+ a = agrgP3 Sg cn.g
+ } ;
+
+ SymbS sy = sy ;
+
+ SymbNum sy = { s = addGenitiveS sy.s ; n = Pl ; hasCard = True } ;
+ SymbOrd sy = { s = \\c => sy.s ++ (regGenitiveS "th")!c} ;
+-}
+
+lincat
+
+ Symb, [Symb] = SS ;
+
+lin
+ MkSymb s = s ;
+
+-- BaseSymb = infixSS "and" ;
+ ConsSymb = infixSS "," ;
+
+
+}
diff --git a/next-lib/src/scandinavian/CommonScand.gf b/next-lib/src/scandinavian/CommonScand.gf
index 9aa52f74c..d56d7ee1d 100644
--- a/next-lib/src/scandinavian/CommonScand.gf
+++ b/next-lib/src/scandinavian/CommonScand.gf
@@ -101,9 +101,9 @@ oper
-- Used in $DiffScand.predV$.
vFin : Tense -> Voice -> VForm = \t,v -> case t of {
- Pres => VF (VPres v) ;
- Past => VF (VPret v) ; --# notpresent
- _ => VI (VInfin v) --- not to be used?
+ Pres => VF (VPres v)
+ ; --# notpresent
+ Past => VF (VPret v) --# notpresent
} ;
-- Used in $ConjunctionScand$.
diff --git a/next-lib/src/scandinavian/NounScand.gf b/next-lib/src/scandinavian/NounScand.gf
index bbb1f3a0c..4cd697eae 100644
--- a/next-lib/src/scandinavian/NounScand.gf
+++ b/next-lib/src/scandinavian/NounScand.gf
@@ -58,8 +58,8 @@ incomplete concrete NounScand of Noun =
let
md : Bool -> Bool = \b -> case quant.det of {
DDef _ => orB b num.isDet ;
- DIndef => num.isDet ;
- _ => False
+ DIndef => num.isDet
+ -- _ => False
}
in {
s = \\b,g => quant.s ! num.n ! b ! md b ! g ++
diff --git a/src/GF/Compile/CheckGrammar.hs b/src/GF/Compile/CheckGrammar.hs
index 43abffa02..3c48de3cf 100644
--- a/src/GF/Compile/CheckGrammar.hs
+++ b/src/GF/Compile/CheckGrammar.hs
@@ -787,10 +787,12 @@ checkLType env trm typ0 = do
ps <- checkErr $ testOvershadow ps0 vs
if null ps
then return ()
+ else raise $ "patterns never reached:" +++
+ concat (intersperse ", " (map prt ps))
---- else checkWarn $ "patterns never reached:" +++
---- concat (intersperse ", " (map prt ps))
- else trace ("WARNING: patterns never reached:" +++
- concat (intersperse ", " (map prt ps))) (return ())
+---- else trace ("WARNING: patterns never reached:" +++
+---- concat (intersperse ", " (map prt ps))) (return ())
---- AR 6/4/2009: checkWarn doesn't show because of laziness (?)
_ -> return () -- happens with variable types