SISR: top categories do not need the Cat_field field.

This commit is contained in:
bringert
2007-01-04 20:55:13 +00:00
parent bead866673
commit 2497093a5e
3 changed files with 4 additions and 10 deletions

View File

@@ -68,14 +68,11 @@ prJSGF srg@(SRG{grammarName=name,startCat=start,origStartCat=origStart,rules=rs}
finalTag = tag sisr (profileFinalSISR n)
topCatRules = [rule True (catFormId tc) (map (it tc) cs) | (tc,cs) <- srgTopCats srg]
where it i c = prCat c <+> tag sisr (topCatSISR (catFieldId i) c)
where it i c = prCat c <+> tag sisr (topCatSISR c)
catFormId :: String -> String
catFormId = (++ "_cat")
catFieldId :: String -> String
catFieldId = (++ "_field")
prCat :: SRGCat -> Doc
prCat c = char '<' <> text c <> char '>'

View File

@@ -64,7 +64,7 @@ prSrgsXml sisr srg@(SRG{grammarName=name,startCat=start,
-- externally visible rules for each of the GF categories
topCatRules = [topRule tc [oneOf (map (it tc) cs)] | (tc,cs) <- srgTopCats srg]
where it i c = Tag "item" [] [Tag "ruleref" [("uri","#" ++ c)] [],
tag sisr (topCatSISR (catFieldId i) c)]
tag sisr (topCatSISR c)]
topRule i is = Tag "rule" [("id",catFormId i),("scope","public")] is
rule :: String -> [XML] -> XML
@@ -111,9 +111,6 @@ tag (Just fmt) t = case t fmt of
catFormId :: String -> String
catFormId = (++ "_cat")
catFieldId :: String -> String
catFieldId = (++ "_field")
showToken :: Token -> String
showToken t = t

View File

@@ -38,8 +38,8 @@ type SISRTag = [JS.DeclOrExpr]
prSISR :: SISRTag -> String
prSISR = JS.printTree
topCatSISR :: String -> String -> SISRFormat -> SISRTag
topCatSISR i c fmt = map JS.DExpr [field (fmtOut fmt) i `ass` fmtRef fmt c]
topCatSISR :: String -> SISRFormat -> SISRTag
topCatSISR c fmt = map JS.DExpr [fmtOut fmt `ass` fmtRef fmt c]
profileInitSISR :: CFTerm -> SISRFormat -> SISRTag
profileInitSISR t fmt