1
0
forked from GitHub/gf-core

bugfix: GF.Compile.GrammarToGFCC should not strip the parameter values

This commit is contained in:
krasimir
2009-11-12 20:09:59 +00:00
parent 6898667b3e
commit 3d838e0172
2 changed files with 7 additions and 3 deletions

View File

@@ -309,12 +309,16 @@ canon2canon opts abs cg0 =
-- flatten record arguments of param constructors
p2p (f,j) = case j of
ResParam (Just ps) _ ->
ResParam (Just [(c,concatMap unRec cont) | (c,cont) <- ps]) Nothing
ResParam (Just ps) (Just vs) ->
ResParam (Just [(c,concatMap unRec cont) | (c,cont) <- ps]) (Just (map unrec vs))
_ -> j
unRec (bt,x,ty) = case ty of
RecType fs -> [ity | (_,typ) <- fs, ity <- unRec (Explicit,identW,typ)]
_ -> [(bt,x,ty)]
unrec t = case t of
App f (R fs) -> GM.mkApp (unrec f) [unrec u | (_,(_,u)) <- fs]
_ -> GM.composSafeOp unrec t
----
trs v = traceD (render (tr v)) v

View File

@@ -52,7 +52,7 @@ optimizeModule opts ms m@(name,mi)
oopts = opts `addOptions` flagsModule m
updateEvalInfo mi (i,info) = do
info' <- evalInfo oopts ms m i info
info' <- evalInfo oopts ms (name,mi) i info
return (updateModule mi i info')
evalInfo :: Options -> [SourceModule] -> SourceModule -> Ident -> Info -> Err Info