From 5beded933016ed69584e64f87e5b7022844dfa99 Mon Sep 17 00:00:00 2001 From: hallgren Date: Wed, 6 Nov 2013 14:29:17 +0000 Subject: [PATCH] Make PGF.Tree internal The only use of PGF.Tree outside the PGF library was in GF.Command.Commands, and it was eliminated by using PGF.Expr directly instead. PGF.Paraphrase still uses PGF.Tree. --- gf.cabal | 2 +- src/compiler/GF/Command/Commands.hs | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/gf.cabal b/gf.cabal index 6c47b2114..9a9f3608d 100644 --- a/gf.cabal +++ b/gf.cabal @@ -89,7 +89,6 @@ Library PGF.Macros PGF.Optimize PGF.Printer - PGF.Tree PGF.Utilities other-modules: PGF.CId @@ -102,6 +101,7 @@ Library PGF.Parse PGF.Probabilistic PGF.SortTop + PGF.Tree PGF.Type PGF.Tokenizer PGF.TypeCheck diff --git a/src/compiler/GF/Command/Commands.hs b/src/compiler/GF/Command/Commands.hs index 58e485768..be309b3d7 100644 --- a/src/compiler/GF/Command/Commands.hs +++ b/src/compiler/GF/Command/Commands.hs @@ -20,7 +20,7 @@ import PGF.Data(abstract,funs,cats,Literal(LStr),Expr(EFun,ELit)) ---- import PGF.Printer(ppFun,ppCat) --import PGF.Probabilistic(rankTreesByProbs,probTree,setProbabilities) --import PGF.Generate (generateRandomFrom) ---- -import PGF.Tree (Tree(Fun), expr2tree, tree2expr) +--import PGF.Tree (Tree(Fun), expr2tree, tree2expr) import PGF.Optimize(optimizePGF) import GF.Compile.Export @@ -1198,10 +1198,9 @@ allCommands = Map.fromList [ _ -> unl . linearize pgf lang -- replace each non-atomic constructor with mkC, where C is the val cat - tree2mk pgf = showExpr [] . tree2expr . t2m . expr2tree where - t2m t = case t of - Fun cid [] -> t - Fun cid ts -> Fun (mk cid) (map t2m ts) + tree2mk pgf = showExpr [] . t2m where + t2m t = case unApp t of + Just (cid,ts@(_:_)) -> mkApp (mk cid) (map t2m ts) _ -> t mk = mkCId . ("mk" ++) . showCId . lookValCat (abstract pgf)