From 28c59faf29fe6d7a54fd015f254a37191210e326 Mon Sep 17 00:00:00 2001 From: aarne Date: Sun, 3 Feb 2013 10:03:15 +0000 Subject: [PATCH] pg -lexc now writes a list of multichar symbols and a title ("Root") for the lexicon, as required by Xerox lexc --- src/compiler/GF/Command/Commands.hs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/compiler/GF/Command/Commands.hs b/src/compiler/GF/Command/Commands.hs index 195caa2e1..172aa9641 100644 --- a/src/compiler/GF/Command/Commands.hs +++ b/src/compiler/GF/Command/Commands.hs @@ -1362,13 +1362,16 @@ infinity = 256 prLexcLexicon :: Morpho -> String prLexcLexicon mo = - unlines $ "LEXICON" : [prLexc l p ++ ":" ++ w ++ " # ;" | (w,lps) <- morpho, (l,p) <- lps] ++ ["END"] + unlines $ "Multichar_Symbols":multichars:"":"LEXICON Root" : [prLexc l p ++ ":" ++ w ++ " # ;" | (w,lps) <- morpho, (l,p) <- lps] ++ ["END"] where morpho = fullFormLexicon mo - prLexc l p = showCId l ++ mkTags (words p) + prLexc l p = showCId l ++ concat (mkTags (words p)) mkTags p = case p of "s":ws -> mkTags ws --- remove record field - ws -> concat $ "+" : intersperse "+" ws + ws -> map ('+':) ws + + multichars = unwords $ nub $ concat [mkTags (words p) | (w,lps) <- morpho, (l,p) <- lps] + -- thick_A+(AAdj+Posit+Gen):thick's # ; prFullFormLexicon :: Morpho -> String prFullFormLexicon mo =