summaryrefslogtreecommitdiff
path: root/src/GF/Parsing/FCFG
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2007-10-12 16:00:37 +0000
committerkr.angelov <kr.angelov@gmail.com>2007-10-12 16:00:37 +0000
commit873a160537bf72ead6cfcd6b739d4c7821eb4c85 (patch)
tree88a65bddef3808f591015d9a62fa9e39e4427d32 /src/GF/Parsing/FCFG
parent96ed0bf4ac7e2898f6f8de82cacecb69d1e94684 (diff)
FCat is just a plain integer now
Diffstat (limited to 'src/GF/Parsing/FCFG')
-rw-r--r--src/GF/Parsing/FCFG/PInfo.hs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/GF/Parsing/FCFG/PInfo.hs b/src/GF/Parsing/FCFG/PInfo.hs
index 9c201c225..2d7edb89d 100644
--- a/src/GF/Parsing/FCFG/PInfo.hs
+++ b/src/GF/Parsing/FCFG/PInfo.hs
@@ -15,9 +15,13 @@ import GF.Formalism.FCFG
import GF.Data.SortedList
import GF.Data.Assoc
import GF.Parsing.FCFG.Range
+import qualified GF.GFCC.AbsGFCC as AbsGFCC
import Data.Array
import Data.Maybe
+import qualified Data.Map as Map
+import qualified Data.Set as Set
+import Debug.Trace
----------------------------------------------------------------------
-- type declarations
@@ -48,6 +52,7 @@ data FCFPInfo
-- ^ used in 'GF.Parsing.MCFG.Active' (Kilbury):
, grammarCats :: SList FCat
, grammarToks :: SList FToken
+ , startupCats :: Map.Map AbsGFCC.CId [FCat]
}
@@ -68,7 +73,7 @@ getLeftCornerCat lins
syms = lins ! 0
buildFCFPInfo :: FGrammar -> FCFPInfo
-buildFCFPInfo grammar =
+buildFCFPInfo (grammar,startup) = -- trace (unlines [prt (x,Set.toList set) | (x,set) <- Map.toList leftcornFilter]) $
FCFPInfo { allRules = allrules
, topdownRules = topdownrules
-- , emptyRules = emptyrules
@@ -77,6 +82,7 @@ buildFCFPInfo grammar =
, leftcornerTokens = leftcorntoks
, grammarCats = grammarcats
, grammarToks = grammartoks
+ , startupCats = startup
}
where allrules = listArray (0,length grammar-1) grammar