mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-01 07:12:50 -06:00
Handled renaming external SRG categories centrally.
This commit is contained in:
@@ -44,10 +44,8 @@ prJSGF sisr srg
|
||||
comment "Generated by GF" $$
|
||||
text ("grammar " ++ srgName srg ++ ";")
|
||||
lang = maybe empty text (srgLanguage srg)
|
||||
mainCat = rule True "MAIN" [prCat (externalCat (srgStartCat srg))]
|
||||
prRule (SRGRule cat rhs)
|
||||
| isExternalCat srg cat = rule True (externalCat cat) (map prAlt rhs)
|
||||
| otherwise = rule False cat (map prAlt rhs)
|
||||
mainCat = rule True "MAIN" [prCat (srgStartCat srg)]
|
||||
prRule (SRGRule cat rhs) = rule (isExternalCat srg cat) cat (map prAlt rhs)
|
||||
prAlt (SRGAlt mp n rhs) = sep [initTag, p (prItem sisr n rhs), finalTag]
|
||||
where initTag | isEmpty t = empty
|
||||
| otherwise = text "<NULL>" <+> t
|
||||
@@ -55,9 +53,6 @@ prJSGF sisr srg
|
||||
finalTag = tag sisr (profileFinalSISR n)
|
||||
p = if isEmpty initTag && isEmpty finalTag then id else parens
|
||||
|
||||
externalCat :: Cat -> Cat
|
||||
externalCat c = c ++ "_cat"
|
||||
|
||||
prCat :: Cat -> Doc
|
||||
prCat c = char '<' <> text c <> char '>'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user