From 1a98f294ea4ffc0da44b7efecea6446daa39b7ea Mon Sep 17 00:00:00 2001 From: bringert Date: Fri, 28 Jan 2005 15:57:59 +0000 Subject: [PATCH] Make first letter in GSL category names upper case. --- src/GF/Speech/PrGSL.hs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/GF/Speech/PrGSL.hs b/src/GF/Speech/PrGSL.hs index 1d505bea1..2ad379b4c 100644 --- a/src/GF/Speech/PrGSL.hs +++ b/src/GF/Speech/PrGSL.hs @@ -28,6 +28,8 @@ import GrammarTypes import PrintParser import Option +import Data.Char (toUpper) + gslPrinter :: Ident -- ^ Grammar name -> Options -> CFGrammar -> String gslPrinter name opts cfg = prGSL srg "" @@ -49,7 +51,12 @@ prGSL (SRG{grammarName=name,startCat=start,origStartCat=origStart,rules=rs}) where rhs' = rmPunct rhs prSymbol (Cat c) = prCat c prSymbol (Tok t) = wrap "\"" (prtS t) "\"" - prCat c = showString c + -- GSL requires an upper case letter in category names + prCat c = showString (firstToUpper c) + +firstToUpper :: String -> String +firstToUpper [] = [] +firstToUpper (x:xs) = toUpper x : xs rmPunct :: [Symbol String Token] -> [Symbol String Token] rmPunct [] = []