From cc6755be33cf5511c6c1796d0d7a6795c18b36f4 Mon Sep 17 00:00:00 2001 From: hallgren Date: Tue, 21 Feb 2017 13:21:59 +0000 Subject: [PATCH] Fix compilation errors caused by changes in PGF2 These prevented GF from being built with C run-time support (-fc-runtime). --- gf.cabal | 4 ++-- src/compiler/GF/Command/Commands2.hs | 8 +++++--- src/server/PGFService.hs | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/gf.cabal b/gf.cabal index 65eb21e14..966153d1c 100644 --- a/gf.cabal +++ b/gf.cabal @@ -136,11 +136,11 @@ Library if flag(c-runtime) exposed-modules: PGF2 - other-modules: PGF2.FFI PGF2.Expr + other-modules: PGF2.FFI PGF2.Expr PGF2.Type GF.Interactive2 GF.Command.Commands2 hs-source-dirs: src/runtime/haskell-bind build-tools: hsc2hs - extra-libraries: gu pgf + extra-libraries: pgf gu c-sources: src/runtime/haskell-bind/utils.c cc-options: -std=c99 diff --git a/src/compiler/GF/Command/Commands2.hs b/src/compiler/GF/Command/Commands2.hs index 4e68c05ff..4ffa4e763 100644 --- a/src/compiler/GF/Command/Commands2.hs +++ b/src/compiler/GF/Command/Commands2.hs @@ -812,7 +812,8 @@ pgfCommands = Map.fromList [ unlines [showFun' f ty|f<-funs, let ty=C.functionType pgf f, target ty == c] - target (C.DTyp _ c _) = c + --target (C.DTyp _ c _) = c + target t = case C.unType t of (_,c,_) -> c {- [e] -> case H.inferExpr pgf e of Left tcErr -> error $ render (H.ppTcError tcErr) @@ -977,7 +978,8 @@ pgfCommands = Map.fromList [ -} optCat pgf opts = case listFlags "cat" opts of - v:_ -> C.DTyp [] (valueString v) [] + --v:_ -> C.DTyp [] (valueString v) [] + v:_ -> C.mkType [] (valueString v) [] _ -> C.startCat pgf {- @@ -1029,7 +1031,7 @@ pgfCommands = Map.fromList [ | otherwise = return void -- TODO implement more options showFun pgf f = showFun' f (C.functionType pgf f) - showFun' f ty = "fun "++f++" : "++C.showType ty + showFun' f ty = "fun "++f++" : "++C.showType [] ty {- prGrammar env@(pgf,mos) opts diff --git a/src/server/PGFService.hs b/src/server/PGFService.hs index 4647c4eb4..d84f2b3c2 100644 --- a/src/server/PGFService.hs +++ b/src/server/PGFService.hs @@ -167,7 +167,7 @@ cpgfMain qsem command (t,(pgf,pc)) = grammar = showJSON $ makeObj ["name".=C.abstractName pgf, "lastmodified".=show t, - "startcat".=C.startCat pgf, + "startcat".=C.showType [] (C.startCat pgf), "languages".=languages] where languages = [makeObj ["name".= l] | (l,_)<-Map.toList langs] @@ -313,7 +313,7 @@ instance JSON C.CId where -} instance JSON C.Expr where readJSON x = readJSON x >>= maybe (fail "Bad expression.") return . C.readExpr - showJSON = showJSON . C.showExpr + showJSON = showJSON . C.showExpr [] -- | Convert a 'Tree' to an 'ATree'