From 1077fa1f30c0714933d02cf4b9c20cbe30fd9876 Mon Sep 17 00:00:00 2001 From: krasimir Date: Fri, 30 May 2008 07:23:00 +0000 Subject: don't need SyntaxTree anymore. Use PGF.Data.Exp directly --- src-3.0/PGF/Parsing/FCFG.hs | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) (limited to 'src-3.0/PGF/Parsing/FCFG.hs') diff --git a/src-3.0/PGF/Parsing/FCFG.hs b/src-3.0/PGF/Parsing/FCFG.hs index 64421a0c4..81fc6a3e4 100644 --- a/src-3.0/PGF/Parsing/FCFG.hs +++ b/src-3.0/PGF/Parsing/FCFG.hs @@ -43,36 +43,9 @@ parseFCF strategy pinfo startCat inString = finalEdges = [makeFinalEdge cat i j | cat <- startCats] forests = chart2forests chart (const False) finalEdges filteredForests = forests >>= applyProfileToForest - trees = nubsort $ filteredForests >>= forest2trees - return $ map tree2term trees + return $ nubsort $ filteredForests >>= forest2exps where parseFCF :: String -> Err (FCFParser) parseFCF "bottomup" = Ok $ parse "b" parseFCF "topdown" = Ok $ parse "t" parseFCF strat = Bad $ "FCFG parsing strategy not defined: " ++ strat - ----------------------------------------------------------------------- --- parse trees to GFCC terms - -tree2term :: SyntaxTree CId -> Exp -tree2term (TNode f ts) = tree (AC f) (map tree2term ts) -tree2term (TString s) = tree (AS s) [] -tree2term (TInt n) = tree (AI n) [] -tree2term (TFloat f) = tree (AF f) [] -tree2term (TMeta) = exp0 - ----------------------------------------------------------------------- --- conversion and unification of forests - --- simplest implementation -applyProfileToForest :: SyntaxForest (CId,[Profile]) -> [SyntaxForest CId] -applyProfileToForest (FNode (fun,profiles) children) - | fun == wildCId = concat chForests - | otherwise = [ FNode fun chForests | not (null chForests) ] - where chForests = concat [ mapM (unifyManyForests . map (forests !!)) profiles | - forests0 <- children, - forests <- mapM applyProfileToForest forests0 ] -applyProfileToForest (FString s) = [FString s] -applyProfileToForest (FInt n) = [FInt n] -applyProfileToForest (FFloat f) = [FFloat f] -applyProfileToForest (FMeta) = [FMeta] -- cgit v1.2.3