From e20969ab5d9b812729759b629acafe73d760b97e Mon Sep 17 00:00:00 2001 From: aarne Date: Sun, 5 Oct 2008 15:44:16 +0000 Subject: [PATCH] prevent pgf from being empty when there are no concrete syntaxes --- src/GF/Compile/GrammarToGFCC.hs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/GF/Compile/GrammarToGFCC.hs b/src/GF/Compile/GrammarToGFCC.hs index 4a59f970a..f16497a0a 100644 --- a/src/GF/Compile/GrammarToGFCC.hs +++ b/src/GF/Compile/GrammarToGFCC.hs @@ -260,13 +260,15 @@ reorder abs cg = M.MGrammar $ -- one grammar per language - needed for symtab generation repartition :: Ident -> SourceGrammar -> [SourceGrammar] -repartition abs cg = [M.partOfGrammar cg (lang,mo) | - let mos = M.allModMod cg, - lang <- M.allConcretes cg abs, - let mo = errVal - (error ("no module found for " ++ A.prt lang)) $ M.lookupModule cg lang - ] - +repartition abs cg = + [M.partOfGrammar cg (lang,mo) | + let mos = M.allModMod cg, + lang <- case M.allConcretes cg abs of + [] -> [abs] -- to make pgf nonempty even when there are no concretes + cncs -> cncs, + let mo = errVal + (error ("no module found for " ++ A.prt lang)) $ M.lookupModule cg lang + ] -- translate tables and records to arrays, parameters and labels to indices