mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
Make smaller SISR code for tokens.
This commit is contained in:
@@ -60,8 +60,12 @@ catSISR t (c,i) fmt
|
||||
| otherwise = []
|
||||
|
||||
profileFinalSISR :: CFTerm -> SISRFormat -> SISRTag
|
||||
profileFinalSISR term fmt = [fmtOut fmt `ass` f term]
|
||||
where f (CFObj n ts) =
|
||||
profileFinalSISR term fmt = g term
|
||||
where
|
||||
-- optimization for tokens
|
||||
g (CFObj n []) = [field (fmtOut fmt) "name" `ass` JS.EStr (prIdent n)]
|
||||
g t = [fmtOut fmt `ass` f t]
|
||||
f (CFObj n ts) =
|
||||
JS.ESeq $ [ret `ass` JS.ENew (JS.Ident "Object") [],
|
||||
field ret "name" `ass` JS.EStr (prIdent n)]
|
||||
++ [field ret ("arg"++show i) `ass` f t
|
||||
|
||||
Reference in New Issue
Block a user