uuagc 0.9.16 → 0.9.17
raw patch · 5 files changed
+282/−272 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- src-derived/GenerateCode.hs +26/−18
- src-derived/Transform.hs +253/−251
- src/Version.hs +1/−1
- uuagc.cabal +1/−1
- uuagc.cabal-for-ghc-6.6 +1/−1
src-derived/GenerateCode.hs view
@@ -844,7 +844,8 @@ nil = SimpleExpr (semname _lhsIprefix nt_ (identifier "Nil" )) arg = SimpleExpr "list" rarg = case tp of- NT t _ -> SimpleExpr ("(Prelude.map " ++ (cataname _lhsIprefix t) ++ " list)")+ NT t _ -> let t' = maybe t id (deforestedNt t)+ in SimpleExpr ("(Prelude.map " ++ (cataname _lhsIprefix t') ++ " list)") _ -> arg lhs = Fun (cataname _lhsIprefix nt_) [arg] rhs = (App "Prelude.foldr" [cons,nil,rarg])@@ -854,7 +855,8 @@ nothing = semname _lhsIprefix nt_ (identifier "Nothing" ) arg = SimpleExpr "x" rarg = case tp of- NT t _ -> App (cataname _lhsIprefix t) [arg]+ NT t _ -> let t' = maybe t id (deforestedNt t)+ in App (cataname _lhsIprefix t') [arg] _ -> arg lhs a = Fun (cataname _lhsIprefix nt_) [a] in [Decl (lhs (App "Prelude.Just" [arg])) (App just [rarg]) Set.empty Set.empty@@ -865,10 +867,12 @@ right = semname _lhsIprefix nt_ (identifier "Right" ) arg = SimpleExpr "x" rarg0 = case tp1 of- NT t _ -> App (cataname _lhsIprefix t) [arg]+ NT t _ -> let t' = maybe t id (deforestedNt t)+ in App (cataname _lhsIprefix t') [arg] _ -> arg rarg1 = case tp2 of- NT t _ -> App (cataname _lhsIprefix t) [arg]+ NT t _ -> let t' = maybe t id (deforestedNt t)+ in App (cataname _lhsIprefix t') [arg] _ -> arg lhs a = Fun (cataname _lhsIprefix nt_) [a] in [Decl (lhs (App "Prelude.Left" [arg])) (App left [rarg0]) Set.empty Set.empty@@ -879,7 +883,8 @@ nil = SimpleExpr (semname _lhsIprefix nt_ (identifier "Nil")) arg = SimpleExpr "m" rarg = case tp of- NT t _ -> App "Map.map" [SimpleExpr $ cataname _lhsIprefix t, arg]+ NT t _ -> let t' = maybe t id (deforestedNt t)+ in App "Map.map" [SimpleExpr $ cataname _lhsIprefix t', arg] _ -> arg lhs = Fun (cataname _lhsIprefix nt_) [arg] rhs = App "Map.foldWithKey" [entry,nil,rarg]@@ -889,7 +894,8 @@ nil = SimpleExpr (semname _lhsIprefix nt_ (identifier "Nil")) arg = SimpleExpr "m" rarg = case tp of- NT t _ -> App "IntMap.map" [SimpleExpr $ cataname _lhsIprefix t, arg]+ NT t _ -> let t' = maybe t id (deforestedNt t)+ in App "IntMap.map" [SimpleExpr $ cataname _lhsIprefix t', arg] _ -> arg lhs = Fun (cataname _lhsIprefix nt_) [arg] rhs = App "IntMap.foldWithKey" [entry,nil,rarg]@@ -899,7 +905,8 @@ tps' = [ (SimpleExpr (getName x),y) | (x,y) <- tps] rargs = map rarg tps' rarg (n, tp) = case tp of- NT t _ -> App (cataname _lhsIprefix t) [n]+ NT t _ -> let t' = maybe t id (deforestedNt t)+ in App (cataname _lhsIprefix t') [n] _ -> n lhs = Fun (cataname _lhsIprefix nt_) [TupleExpr (map fst tps')] rhs = App con rargs@@ -1629,15 +1636,16 @@ -- "GenerateCode.ag"(line 870, column 17) _lhsOdataAlt = DataAlt (conname _lhsIo_rename _lhsInt con_) (map (\(_,t,_) -> typeToHaskellString (Just _lhsInt) _params t) _firstOrderChildren )- -- "GenerateCode.ag"(line 962, column 17)+ -- "GenerateCode.ag"(line 969, column 17) _lhsOcataAlt = let lhs = Fun (cataname _lhsIprefix _lhsInt) [lhs_pat] lhs_pat = App (conname _lhsIo_rename _lhsInt con_) (map (\(n,_,_) -> SimpleExpr $ locname $ n) _firstOrderChildren ) rhs = App (semname _lhsIprefix _lhsInt con_) (map argument _firstOrderChildren )- argument (nm,NT tp _,_) = App (cataname _lhsIprefix tp)- [SimpleExpr (locname nm)]+ argument (nm,NT tp _,_) = let tp' = maybe tp id (deforestedNt tp)+ in App (cataname _lhsIprefix tp')+ [SimpleExpr (locname nm)] argument (nm, _,_) = SimpleExpr (locname nm) in Decl lhs rhs Set.empty Set.empty -- use rule "GenerateCode.ag"(line 706, column 39)@@ -1649,7 +1657,7 @@ -- use rule "GenerateCode.ag"(line 719, column 32) _lhsOerrors = _visitsIerrors- -- use rule "GenerateCode.ag"(line 977, column 61)+ -- use rule "GenerateCode.ag"(line 985, column 61) _lhsOsemNames = _visitsIsemNames -- copy rule (down)@@ -1920,7 +1928,7 @@ -- "GenerateCode.ag"(line 865, column 17) _lhsOdataAlts = _hdIdataAlt : _tlIdataAlts- -- "GenerateCode.ag"(line 958, column 10)+ -- "GenerateCode.ag"(line 965, column 10) _lhsOcataAlts = _hdIcataAlt : _tlIcataAlts -- use rule "GenerateCode.ag"(line 706, column 39)@@ -1935,7 +1943,7 @@ -- use rule "GenerateCode.ag"(line 719, column 32) _lhsOerrors = _hdIerrors Seq.>< _tlIerrors- -- use rule "GenerateCode.ag"(line 977, column 61)+ -- use rule "GenerateCode.ag"(line 985, column 61) _lhsOsemNames = _hdIsemNames ++ _tlIsemNames -- copy rule (down)@@ -2130,7 +2138,7 @@ -- "GenerateCode.ag"(line 866, column 17) _lhsOdataAlts = []- -- "GenerateCode.ag"(line 959, column 10)+ -- "GenerateCode.ag"(line 966, column 10) _lhsOcataAlts = [] -- use rule "GenerateCode.ag"(line 706, column 39)@@ -2145,7 +2153,7 @@ -- use rule "GenerateCode.ag"(line 719, column 32) _lhsOerrors = Seq.empty- -- use rule "GenerateCode.ag"(line 977, column 61)+ -- use rule "GenerateCode.ag"(line 985, column 61) _lhsOsemNames = [] in ( _lhsOallTpsFound,_lhsOcataAlts,_lhsOcomments,_lhsOdataAlts,_lhsOdecls,_lhsOerrors,_lhsOsemNames))) )@@ -3528,7 +3536,7 @@ -- "GenerateCode.ag"(line 761, column 18) _intraOwhat = "intra"- -- "GenerateCode.ag"(line 987, column 7)+ -- "GenerateCode.ag"(line 995, column 7) _lhsOsemNames = [_funcname ] -- copy rule (down)@@ -3970,7 +3978,7 @@ -- use rule "GenerateCode.ag"(line 447, column 44) _lhsOgatherInstVisitNrs = _hdIgatherInstVisitNrs `Map.union` _tlIgatherInstVisitNrs- -- use rule "GenerateCode.ag"(line 977, column 61)+ -- use rule "GenerateCode.ag"(line 985, column 61) _lhsOsemNames = _hdIsemNames ++ _tlIsemNames -- copy rule (down)@@ -4227,7 +4235,7 @@ -- use rule "GenerateCode.ag"(line 447, column 44) _lhsOgatherInstVisitNrs = Map.empty- -- use rule "GenerateCode.ag"(line 977, column 61)+ -- use rule "GenerateCode.ag"(line 985, column 61) _lhsOsemNames = [] in ( _lhsOallTpsFound,_lhsOcomments,_lhsOdecls,_lhsOerrors,_lhsOgatherInstVisitNrs,_lhsOintra,_lhsOintraVars,_lhsOisNil,_lhsOsemNames))) )
src-derived/Transform.hs view
@@ -110,8 +110,10 @@ checkDefi :: Bool -> AttrName -> AccumDefiCheck -> AccumDefiCheck checkDefi owrt fa@(field,attr) (e,m,u,bs) = case lookup field fieldmap- of Just (NT tp _) -> if field == _LOC || field == _INST || field == _FIRST || field == _LAST- || hasAttrib (if getName field==getName _LHS then snd else fst) tp attr+ of Just (NT tp _) -> + let tp' = maybe tp id (deforestedNt tp)+ in if field == _LOC || field == _INST || field == _FIRST || field == _LAST+ || hasAttrib (if getName field==getName _LHS then snd else fst) tp' attr then case Map.lookupIndex fa m of Just ix -> let ((_,attr2),b) = Map.elemAt ix m in if b && not (fa `elem` bs)@@ -546,22 +548,22 @@ -- "Transform.ag"(line 305, column 10) _lhsOerrors = _elemsIerrors >< _errs1 >< _errs2 >< _errs3 >< _errs4 >< _errs5 >< _errs6 >< _errs7 >< _errs8- -- "Transform.ag"(line 453, column 10)+ -- "Transform.ag"(line 455, column 10) _allNonterminals = _elemsIcollectedNames `Set.difference` _elemsIcollectedSetNames- -- "Transform.ag"(line 473, column 8)+ -- "Transform.ag"(line 475, column 8) _elemsOallConstructors = _elemsIcollectedConstructorsMap- -- "Transform.ag"(line 546, column 8)+ -- "Transform.ag"(line 548, column 8) _elemsOdefSets = Map.fromList (map (\x->(x,(Set.singleton x, Set.empty))) (Set.toList _allNonterminals ))- -- "Transform.ag"(line 547, column 8)+ -- "Transform.ag"(line 549, column 8) _elemsOdefinedSets = Map.map fst _elemsIdefSets- -- "Transform.ag"(line 799, column 8)+ -- "Transform.ag"(line 801, column 8) _elemsOattrDecls = Map.empty- -- "Transform.ag"(line 838, column 9)+ -- "Transform.ag"(line 840, column 9) _allAttrDecls = if withSelf _lhsIoptions then foldr addSelf _elemsIattrDecls (Set.toList _allNonterminals )@@ -569,10 +571,10 @@ -- use rule "Transform.ag"(line 44, column 19) _lhsOblocks = _elemsIblocks- -- use rule "Transform.ag"(line 941, column 37)+ -- use rule "Transform.ag"(line 943, column 37) _lhsOmoduleDecl = _elemsImoduleDecl- -- use rule "Transform.ag"(line 628, column 34)+ -- use rule "Transform.ag"(line 630, column 34) _lhsOpragmas = _elemsIpragmas -- copy rule (from local)@@ -808,16 +810,16 @@ (let _lhsOuseMap :: (Map NontermIdent (Map Identifier (String,String,String))) _lhsOerrors :: (Seq Error) _lhsOattrDecls :: (Map NontermIdent (Attributes, Attributes))- -- "Transform.ag"(line 807, column 15)+ -- "Transform.ag"(line 809, column 15) __tup1 = checkAttrs _lhsIallFields (Set.toList _lhsInts) _inherited _synthesized _lhsIattrDecls- -- "Transform.ag"(line 807, column 15)+ -- "Transform.ag"(line 809, column 15) (_attrDecls,_) = __tup1- -- "Transform.ag"(line 807, column 15)+ -- "Transform.ag"(line 809, column 15) (_,_errors) = __tup1- -- "Transform.ag"(line 809, column 15)+ -- "Transform.ag"(line 811, column 15) __tup2 = let splitAttrs xs = unzip [ ((n,makeType _lhsIallNonterminals t),(n,ud)) | (n,t,ud) <- xs@@ -827,16 +829,16 @@ (syn,uses2) = splitAttrs syn_ isUse (n,(e1,e2,_)) = not (null e1 || null e2) in (inh++chn,chn++syn, Map.fromList (Prelude.filter isUse (uses1++uses2)))- -- "Transform.ag"(line 809, column 15)+ -- "Transform.ag"(line 811, column 15) (_inherited,_,_) = __tup2- -- "Transform.ag"(line 809, column 15)+ -- "Transform.ag"(line 811, column 15) (_,_synthesized,_) = __tup2- -- "Transform.ag"(line 809, column 15)+ -- "Transform.ag"(line 811, column 15) (_,_,_useMap) = __tup2- -- "Transform.ag"(line 817, column 11)+ -- "Transform.ag"(line 819, column 11) _lhsOuseMap = Map.fromList (zip (Set.toList _lhsInts) (repeat _useMap)) -- use rule "Transform.ag"(line 42, column 19)@@ -891,7 +893,7 @@ (T_ConstructorSet (let _lhsOconstructors :: ((Set ConstructorIdent->Set ConstructorIdent)) _lhsOcollectedConstructorNames :: (Set ConstructorIdent) _lhsOerrors :: (Seq Error)- -- "Transform.ag"(line 613, column 17)+ -- "Transform.ag"(line 615, column 17) _lhsOconstructors = \ds -> ds -- use rule "Transform.ag"(line 90, column 62)@@ -914,7 +916,7 @@ _set2IcollectedConstructorNames :: (Set ConstructorIdent) _set2Iconstructors :: ((Set ConstructorIdent->Set ConstructorIdent)) _set2Ierrors :: (Seq Error)- -- "Transform.ag"(line 612, column 17)+ -- "Transform.ag"(line 614, column 17) _lhsOconstructors = \ds -> _set1Iconstructors ds `Set.difference` _set2Iconstructors ds -- use rule "Transform.ag"(line 90, column 62)@@ -934,10 +936,10 @@ (T_ConstructorSet (let _lhsOcollectedConstructorNames :: (Set ConstructorIdent) _lhsOconstructors :: ((Set ConstructorIdent->Set ConstructorIdent)) _lhsOerrors :: (Seq Error)- -- "Transform.ag"(line 461, column 11)+ -- "Transform.ag"(line 463, column 11) _lhsOcollectedConstructorNames = Set.singleton name_- -- "Transform.ag"(line 610, column 17)+ -- "Transform.ag"(line 612, column 17) _lhsOconstructors = \ds -> Set.singleton name_ -- use rule "Transform.ag"(line 42, column 19)@@ -957,7 +959,7 @@ _set2IcollectedConstructorNames :: (Set ConstructorIdent) _set2Iconstructors :: ((Set ConstructorIdent->Set ConstructorIdent)) _set2Ierrors :: (Seq Error)- -- "Transform.ag"(line 611, column 17)+ -- "Transform.ag"(line 613, column 17) _lhsOconstructors = \ds -> _set1Iconstructors ds `Set.union` _set2Iconstructors ds -- use rule "Transform.ag"(line 90, column 62)@@ -1156,15 +1158,15 @@ _attrsIattrDecls :: (Map NontermIdent (Attributes, Attributes)) _attrsIerrors :: (Seq Error) _attrsIuseMap :: (Map NontermIdent (Map Identifier (String,String,String)))- -- "Transform.ag"(line 759, column 7)+ -- "Transform.ag"(line 761, column 7) _lhsOctxCollect = if null ctx_ then Map.empty else Map.fromList [(nt, ctx_) | nt <- Set.toList _namesInontSet]- -- "Transform.ag"(line 803, column 10)+ -- "Transform.ag"(line 805, column 10) _attrsOnts = _namesInontSet- -- use rule "Transform.ag"(line 700, column 55)+ -- use rule "Transform.ag"(line 702, column 55) _lhsOattrOrderCollect = Map.empty -- use rule "Transform.ag"(line 44, column 19)@@ -1197,31 +1199,31 @@ -- use rule "Transform.ag"(line 149, column 32) _lhsOcollectedUniques = []- -- use rule "Transform.ag"(line 780, column 33)+ -- use rule "Transform.ag"(line 782, column 33) _lhsOderivings = Map.empty -- use rule "Transform.ag"(line 42, column 19) _lhsOerrors = _namesIerrors Seq.>< _attrsIerrors- -- use rule "Transform.ag"(line 941, column 37)+ -- use rule "Transform.ag"(line 943, column 37) _lhsOmoduleDecl = mzero- -- use rule "Transform.ag"(line 732, column 37)+ -- use rule "Transform.ag"(line 734, column 37) _lhsOparamsCollect = Map.empty- -- use rule "Transform.ag"(line 628, column 34)+ -- use rule "Transform.ag"(line 630, column 34) _lhsOpragmas = id- -- use rule "Transform.ag"(line 672, column 56)+ -- use rule "Transform.ag"(line 674, column 56) _lhsOsemPragmasCollect = Map.empty- -- use rule "Transform.ag"(line 488, column 32)+ -- use rule "Transform.ag"(line 490, column 32) _lhsOtypeSyns = [] -- use rule "Transform.ag"(line 134, column 15) _lhsOuseMap = _attrsIuseMap- -- use rule "Transform.ag"(line 619, column 32)+ -- use rule "Transform.ag"(line 621, column 32) _lhsOwrappers = Set.empty -- copy rule (up)@@ -1313,26 +1315,26 @@ -- "Transform.ag"(line 163, column 10) _altsOnts = _namesInontSet- -- "Transform.ag"(line 467, column 11)+ -- "Transform.ag"(line 469, column 11) _lhsOcollectedConstructorsMap = Map.fromList [ (n, _altsIcollectedConstructorNames) | n <- Set.toList _namesInontSet ]- -- "Transform.ag"(line 736, column 7)+ -- "Transform.ag"(line 738, column 7) _lhsOparamsCollect = if null params_ then Map.empty else Map.fromList [(nt, params_) | nt <- Set.toList _namesInontSet]- -- "Transform.ag"(line 759, column 7)+ -- "Transform.ag"(line 761, column 7) _lhsOctxCollect = if null ctx_ then Map.empty else Map.fromList [(nt, ctx_) | nt <- Set.toList _namesInontSet]- -- "Transform.ag"(line 802, column 10)+ -- "Transform.ag"(line 804, column 10) _attrsOnts = _namesInontSet- -- use rule "Transform.ag"(line 700, column 55)+ -- use rule "Transform.ag"(line 702, column 55) _lhsOattrOrderCollect = Map.empty -- use rule "Transform.ag"(line 44, column 19)@@ -1362,28 +1364,28 @@ -- use rule "Transform.ag"(line 149, column 32) _lhsOcollectedUniques = []- -- use rule "Transform.ag"(line 780, column 33)+ -- use rule "Transform.ag"(line 782, column 33) _lhsOderivings = Map.empty -- use rule "Transform.ag"(line 42, column 19) _lhsOerrors = _namesIerrors Seq.>< _attrsIerrors- -- use rule "Transform.ag"(line 941, column 37)+ -- use rule "Transform.ag"(line 943, column 37) _lhsOmoduleDecl = mzero- -- use rule "Transform.ag"(line 628, column 34)+ -- use rule "Transform.ag"(line 630, column 34) _lhsOpragmas = id- -- use rule "Transform.ag"(line 672, column 56)+ -- use rule "Transform.ag"(line 674, column 56) _lhsOsemPragmasCollect = Map.empty- -- use rule "Transform.ag"(line 488, column 32)+ -- use rule "Transform.ag"(line 490, column 32) _lhsOtypeSyns = [] -- use rule "Transform.ag"(line 134, column 15) _lhsOuseMap = _attrsIuseMap- -- use rule "Transform.ag"(line 619, column 32)+ -- use rule "Transform.ag"(line 621, column 32) _lhsOwrappers = Set.empty -- copy rule (up)@@ -1464,10 +1466,10 @@ _setIcollectedNames :: (Set Identifier) _setIerrors :: (Seq Error) _setInontSet :: (Set NontermIdent)- -- "Transform.ag"(line 787, column 14)+ -- "Transform.ag"(line 789, column 14) _lhsOderivings = Map.fromList [(nt,Set.fromList classes_) | nt <- Set.toList _setInontSet]- -- use rule "Transform.ag"(line 700, column 55)+ -- use rule "Transform.ag"(line 702, column 55) _lhsOattrOrderCollect = Map.empty -- use rule "Transform.ag"(line 44, column 19)@@ -1500,31 +1502,31 @@ -- use rule "Transform.ag"(line 149, column 32) _lhsOcollectedUniques = []- -- use rule "Transform.ag"(line 755, column 34)+ -- use rule "Transform.ag"(line 757, column 34) _lhsOctxCollect = Map.empty -- use rule "Transform.ag"(line 42, column 19) _lhsOerrors = _setIerrors- -- use rule "Transform.ag"(line 941, column 37)+ -- use rule "Transform.ag"(line 943, column 37) _lhsOmoduleDecl = mzero- -- use rule "Transform.ag"(line 732, column 37)+ -- use rule "Transform.ag"(line 734, column 37) _lhsOparamsCollect = Map.empty- -- use rule "Transform.ag"(line 628, column 34)+ -- use rule "Transform.ag"(line 630, column 34) _lhsOpragmas = id- -- use rule "Transform.ag"(line 672, column 56)+ -- use rule "Transform.ag"(line 674, column 56) _lhsOsemPragmasCollect = Map.empty- -- use rule "Transform.ag"(line 488, column 32)+ -- use rule "Transform.ag"(line 490, column 32) _lhsOtypeSyns = [] -- use rule "Transform.ag"(line 134, column 15) _lhsOuseMap = Map.empty- -- use rule "Transform.ag"(line 619, column 32)+ -- use rule "Transform.ag"(line 621, column 32) _lhsOwrappers = Set.empty -- copy rule (chain)@@ -1581,10 +1583,10 @@ _lhsOwrappers :: (Set NontermIdent) _lhsOattrDecls :: (Map NontermIdent (Attributes, Attributes)) _lhsOdefSets :: (Map Identifier (Set NontermIdent,Set Identifier))- -- "Transform.ag"(line 945, column 7)+ -- "Transform.ag"(line 947, column 7) _lhsOmoduleDecl = Just (name_, exports_, imports_)- -- use rule "Transform.ag"(line 700, column 55)+ -- use rule "Transform.ag"(line 702, column 55) _lhsOattrOrderCollect = Map.empty -- use rule "Transform.ag"(line 44, column 19)@@ -1617,31 +1619,31 @@ -- use rule "Transform.ag"(line 149, column 32) _lhsOcollectedUniques = []- -- use rule "Transform.ag"(line 755, column 34)+ -- use rule "Transform.ag"(line 757, column 34) _lhsOctxCollect = Map.empty- -- use rule "Transform.ag"(line 780, column 33)+ -- use rule "Transform.ag"(line 782, column 33) _lhsOderivings = Map.empty -- use rule "Transform.ag"(line 42, column 19) _lhsOerrors = Seq.empty- -- use rule "Transform.ag"(line 732, column 37)+ -- use rule "Transform.ag"(line 734, column 37) _lhsOparamsCollect = Map.empty- -- use rule "Transform.ag"(line 628, column 34)+ -- use rule "Transform.ag"(line 630, column 34) _lhsOpragmas = id- -- use rule "Transform.ag"(line 672, column 56)+ -- use rule "Transform.ag"(line 674, column 56) _lhsOsemPragmasCollect = Map.empty- -- use rule "Transform.ag"(line 488, column 32)+ -- use rule "Transform.ag"(line 490, column 32) _lhsOtypeSyns = [] -- use rule "Transform.ag"(line 134, column 15) _lhsOuseMap = Map.empty- -- use rule "Transform.ag"(line 619, column 32)+ -- use rule "Transform.ag"(line 621, column 32) _lhsOwrappers = Set.empty -- copy rule (chain)@@ -1685,7 +1687,7 @@ _lhsOwrappers :: (Set NontermIdent) _lhsOattrDecls :: (Map NontermIdent (Attributes, Attributes)) _lhsOdefSets :: (Map Identifier (Set NontermIdent,Set Identifier))- -- "Transform.ag"(line 631, column 13)+ -- "Transform.ag"(line 633, column 13) _lhsOpragmas = let mk n o = case getName n of "gencatas" -> o { folds = True }@@ -1727,7 +1729,7 @@ "nonewtypes" -> o { newtypes = False } _ -> o in \o -> foldr mk o names_- -- use rule "Transform.ag"(line 700, column 55)+ -- use rule "Transform.ag"(line 702, column 55) _lhsOattrOrderCollect = Map.empty -- use rule "Transform.ag"(line 44, column 19)@@ -1760,31 +1762,31 @@ -- use rule "Transform.ag"(line 149, column 32) _lhsOcollectedUniques = []- -- use rule "Transform.ag"(line 755, column 34)+ -- use rule "Transform.ag"(line 757, column 34) _lhsOctxCollect = Map.empty- -- use rule "Transform.ag"(line 780, column 33)+ -- use rule "Transform.ag"(line 782, column 33) _lhsOderivings = Map.empty -- use rule "Transform.ag"(line 42, column 19) _lhsOerrors = Seq.empty- -- use rule "Transform.ag"(line 941, column 37)+ -- use rule "Transform.ag"(line 943, column 37) _lhsOmoduleDecl = mzero- -- use rule "Transform.ag"(line 732, column 37)+ -- use rule "Transform.ag"(line 734, column 37) _lhsOparamsCollect = Map.empty- -- use rule "Transform.ag"(line 672, column 56)+ -- use rule "Transform.ag"(line 674, column 56) _lhsOsemPragmasCollect = Map.empty- -- use rule "Transform.ag"(line 488, column 32)+ -- use rule "Transform.ag"(line 490, column 32) _lhsOtypeSyns = [] -- use rule "Transform.ag"(line 134, column 15) _lhsOuseMap = Map.empty- -- use rule "Transform.ag"(line 619, column 32)+ -- use rule "Transform.ag"(line 621, column 32) _lhsOwrappers = Set.empty -- copy rule (chain)@@ -1858,15 +1860,15 @@ -- "Transform.ag"(line 164, column 10) _altsOnts = _namesInontSet- -- "Transform.ag"(line 759, column 7)+ -- "Transform.ag"(line 761, column 7) _lhsOctxCollect = if null ctx_ then Map.empty else Map.fromList [(nt, ctx_) | nt <- Set.toList _namesInontSet]- -- "Transform.ag"(line 804, column 10)+ -- "Transform.ag"(line 806, column 10) _attrsOnts = _namesInontSet- -- use rule "Transform.ag"(line 700, column 55)+ -- use rule "Transform.ag"(line 702, column 55) _lhsOattrOrderCollect = _altsIattrOrderCollect -- use rule "Transform.ag"(line 44, column 19)@@ -1899,31 +1901,31 @@ -- use rule "Transform.ag"(line 149, column 32) _lhsOcollectedUniques = _altsIcollectedUniques- -- use rule "Transform.ag"(line 780, column 33)+ -- use rule "Transform.ag"(line 782, column 33) _lhsOderivings = Map.empty -- use rule "Transform.ag"(line 42, column 19) _lhsOerrors = _namesIerrors Seq.>< _attrsIerrors Seq.>< _altsIerrors- -- use rule "Transform.ag"(line 941, column 37)+ -- use rule "Transform.ag"(line 943, column 37) _lhsOmoduleDecl = mzero- -- use rule "Transform.ag"(line 732, column 37)+ -- use rule "Transform.ag"(line 734, column 37) _lhsOparamsCollect = Map.empty- -- use rule "Transform.ag"(line 628, column 34)+ -- use rule "Transform.ag"(line 630, column 34) _lhsOpragmas = id- -- use rule "Transform.ag"(line 672, column 56)+ -- use rule "Transform.ag"(line 674, column 56) _lhsOsemPragmasCollect = _altsIsemPragmasCollect- -- use rule "Transform.ag"(line 488, column 32)+ -- use rule "Transform.ag"(line 490, column 32) _lhsOtypeSyns = [] -- use rule "Transform.ag"(line 134, column 15) _lhsOuseMap = _attrsIuseMap- -- use rule "Transform.ag"(line 619, column 32)+ -- use rule "Transform.ag"(line 621, column 32) _lhsOwrappers = Set.empty -- copy rule (up)@@ -2004,10 +2006,10 @@ _setIcollectedNames :: (Set Identifier) _setIerrors :: (Seq Error) _setInontSet :: (Set NontermIdent)- -- "Transform.ag"(line 444, column 10)+ -- "Transform.ag"(line 446, column 10) _lhsOcollectedSetNames = Set.singleton name_- -- "Transform.ag"(line 551, column 13)+ -- "Transform.ag"(line 553, column 13) __tup3 = let allUsedNames = Set.unions [ maybe (Set.singleton n) snd@@ -2019,19 +2021,19 @@ | otherwise = (_setInontSet, Seq.empty) (res, e2) = checkDuplicate DupSet name_ (nontSet,Set.insert name_ allUsedNames) _lhsIdefSets in (res, e1 Seq.>< e2)- -- "Transform.ag"(line 551, column 13)+ -- "Transform.ag"(line 553, column 13) (_defSets2,_) = __tup3- -- "Transform.ag"(line 551, column 13)+ -- "Transform.ag"(line 553, column 13) (_,_errs) = __tup3- -- "Transform.ag"(line 561, column 9)+ -- "Transform.ag"(line 563, column 9) _lhsOdefSets = _defSets2- -- "Transform.ag"(line 561, column 9)+ -- "Transform.ag"(line 563, column 9) _lhsOerrors = _errs >< _setIerrors- -- use rule "Transform.ag"(line 700, column 55)+ -- use rule "Transform.ag"(line 702, column 55) _lhsOattrOrderCollect = Map.empty -- use rule "Transform.ag"(line 44, column 19)@@ -2061,31 +2063,31 @@ -- use rule "Transform.ag"(line 149, column 32) _lhsOcollectedUniques = []- -- use rule "Transform.ag"(line 755, column 34)+ -- use rule "Transform.ag"(line 757, column 34) _lhsOctxCollect = Map.empty- -- use rule "Transform.ag"(line 780, column 33)+ -- use rule "Transform.ag"(line 782, column 33) _lhsOderivings = Map.empty- -- use rule "Transform.ag"(line 941, column 37)+ -- use rule "Transform.ag"(line 943, column 37) _lhsOmoduleDecl = mzero- -- use rule "Transform.ag"(line 732, column 37)+ -- use rule "Transform.ag"(line 734, column 37) _lhsOparamsCollect = Map.empty- -- use rule "Transform.ag"(line 628, column 34)+ -- use rule "Transform.ag"(line 630, column 34) _lhsOpragmas = id- -- use rule "Transform.ag"(line 672, column 56)+ -- use rule "Transform.ag"(line 674, column 56) _lhsOsemPragmasCollect = Map.empty- -- use rule "Transform.ag"(line 488, column 32)+ -- use rule "Transform.ag"(line 490, column 32) _lhsOtypeSyns = [] -- use rule "Transform.ag"(line 134, column 15) _lhsOuseMap = Map.empty- -- use rule "Transform.ag"(line 619, column 32)+ -- use rule "Transform.ag"(line 621, column 32) _lhsOwrappers = Set.empty -- copy rule (chain)@@ -2155,7 +2157,7 @@ -- "Transform.ag"(line 182, column 10) _lhsOblocks = Map.singleton _blockInfo _blockValue- -- use rule "Transform.ag"(line 700, column 55)+ -- use rule "Transform.ag"(line 702, column 55) _lhsOattrOrderCollect = Map.empty -- use rule "Transform.ag"(line 150, column 32)@@ -2185,34 +2187,34 @@ -- use rule "Transform.ag"(line 149, column 32) _lhsOcollectedUniques = []- -- use rule "Transform.ag"(line 755, column 34)+ -- use rule "Transform.ag"(line 757, column 34) _lhsOctxCollect = Map.empty- -- use rule "Transform.ag"(line 780, column 33)+ -- use rule "Transform.ag"(line 782, column 33) _lhsOderivings = Map.empty -- use rule "Transform.ag"(line 42, column 19) _lhsOerrors = Seq.empty- -- use rule "Transform.ag"(line 941, column 37)+ -- use rule "Transform.ag"(line 943, column 37) _lhsOmoduleDecl = mzero- -- use rule "Transform.ag"(line 732, column 37)+ -- use rule "Transform.ag"(line 734, column 37) _lhsOparamsCollect = Map.empty- -- use rule "Transform.ag"(line 628, column 34)+ -- use rule "Transform.ag"(line 630, column 34) _lhsOpragmas = id- -- use rule "Transform.ag"(line 672, column 56)+ -- use rule "Transform.ag"(line 674, column 56) _lhsOsemPragmasCollect = Map.empty- -- use rule "Transform.ag"(line 488, column 32)+ -- use rule "Transform.ag"(line 490, column 32) _lhsOtypeSyns = [] -- use rule "Transform.ag"(line 134, column 15) _lhsOuseMap = Map.empty- -- use rule "Transform.ag"(line 619, column 32)+ -- use rule "Transform.ag"(line 621, column 32) _lhsOwrappers = Set.empty -- copy rule (chain)@@ -2262,10 +2264,10 @@ -- "Transform.ag"(line 235, column 10) _lhsOcollectedFields = map (\(x,y)->(name_, x, y)) _expanded- -- "Transform.ag"(line 447, column 11)+ -- "Transform.ag"(line 449, column 11) _lhsOcollectedNames = Set.singleton name_- -- "Transform.ag"(line 501, column 11)+ -- "Transform.ag"(line 503, column 11) _expanded = case _argType of List tp -> [(Ident "Cons" pos_, [(Ident "hd" pos_, tp)@@ -2296,7 +2298,7 @@ , (Ident "Nil" pos_, []) ] Tuple xs -> [(Ident "Tuple" pos_, xs)]- -- "Transform.ag"(line 530, column 11)+ -- "Transform.ag"(line 532, column 11) _argType = case type_ of Maybe tp -> Maybe ( makeType _lhsIallNonterminals tp)@@ -2305,20 +2307,20 @@ Tuple xs -> Tuple [(f,makeType _lhsIallNonterminals tp) | (f,tp) <- xs] Map tp1 tp2 -> Map ( makeType _lhsIallNonterminals tp1) (makeType _lhsIallNonterminals tp2) IntMap tp -> IntMap ( makeType _lhsIallNonterminals tp)- -- "Transform.ag"(line 537, column 11)+ -- "Transform.ag"(line 539, column 11) _lhsOtypeSyns = [(name_,_argType)]- -- "Transform.ag"(line 742, column 7)+ -- "Transform.ag"(line 744, column 7) _lhsOparamsCollect = if null params_ then Map.empty else Map.singleton name_ params_- -- "Transform.ag"(line 765, column 7)+ -- "Transform.ag"(line 767, column 7) _lhsOctxCollect = if null ctx_ then Map.empty else Map.singleton name_ ctx_- -- use rule "Transform.ag"(line 700, column 55)+ -- use rule "Transform.ag"(line 702, column 55) _lhsOattrOrderCollect = Map.empty -- use rule "Transform.ag"(line 44, column 19)@@ -2345,25 +2347,25 @@ -- use rule "Transform.ag"(line 149, column 32) _lhsOcollectedUniques = []- -- use rule "Transform.ag"(line 780, column 33)+ -- use rule "Transform.ag"(line 782, column 33) _lhsOderivings = Map.empty -- use rule "Transform.ag"(line 42, column 19) _lhsOerrors = Seq.empty- -- use rule "Transform.ag"(line 941, column 37)+ -- use rule "Transform.ag"(line 943, column 37) _lhsOmoduleDecl = mzero- -- use rule "Transform.ag"(line 628, column 34)+ -- use rule "Transform.ag"(line 630, column 34) _lhsOpragmas = id- -- use rule "Transform.ag"(line 672, column 56)+ -- use rule "Transform.ag"(line 674, column 56) _lhsOsemPragmasCollect = Map.empty -- use rule "Transform.ag"(line 134, column 15) _lhsOuseMap = Map.empty- -- use rule "Transform.ag"(line 619, column 32)+ -- use rule "Transform.ag"(line 621, column 32) _lhsOwrappers = Set.empty -- copy rule (chain)@@ -2413,10 +2415,10 @@ _setIcollectedNames :: (Set Identifier) _setIerrors :: (Seq Error) _setInontSet :: (Set NontermIdent)- -- "Transform.ag"(line 622, column 13)+ -- "Transform.ag"(line 624, column 13) _lhsOwrappers = _setInontSet- -- use rule "Transform.ag"(line 700, column 55)+ -- use rule "Transform.ag"(line 702, column 55) _lhsOattrOrderCollect = Map.empty -- use rule "Transform.ag"(line 44, column 19)@@ -2449,28 +2451,28 @@ -- use rule "Transform.ag"(line 149, column 32) _lhsOcollectedUniques = []- -- use rule "Transform.ag"(line 755, column 34)+ -- use rule "Transform.ag"(line 757, column 34) _lhsOctxCollect = Map.empty- -- use rule "Transform.ag"(line 780, column 33)+ -- use rule "Transform.ag"(line 782, column 33) _lhsOderivings = Map.empty -- use rule "Transform.ag"(line 42, column 19) _lhsOerrors = _setIerrors- -- use rule "Transform.ag"(line 941, column 37)+ -- use rule "Transform.ag"(line 943, column 37) _lhsOmoduleDecl = mzero- -- use rule "Transform.ag"(line 732, column 37)+ -- use rule "Transform.ag"(line 734, column 37) _lhsOparamsCollect = Map.empty- -- use rule "Transform.ag"(line 628, column 34)+ -- use rule "Transform.ag"(line 630, column 34) _lhsOpragmas = id- -- use rule "Transform.ag"(line 672, column 56)+ -- use rule "Transform.ag"(line 674, column 56) _lhsOsemPragmasCollect = Map.empty- -- use rule "Transform.ag"(line 488, column 32)+ -- use rule "Transform.ag"(line 490, column 32) _lhsOtypeSyns = [] -- use rule "Transform.ag"(line 134, column 15)@@ -2651,7 +2653,7 @@ _tlItypeSyns :: TypeSyns _tlIuseMap :: (Map NontermIdent (Map Identifier (String,String,String))) _tlIwrappers :: (Set NontermIdent)- -- use rule "Transform.ag"(line 700, column 55)+ -- use rule "Transform.ag"(line 702, column 55) _lhsOattrOrderCollect = _hdIattrOrderCollect `orderMapUnion` _tlIattrOrderCollect -- use rule "Transform.ag"(line 44, column 19)@@ -2684,34 +2686,34 @@ -- use rule "Transform.ag"(line 149, column 32) _lhsOcollectedUniques = _hdIcollectedUniques ++ _tlIcollectedUniques- -- use rule "Transform.ag"(line 755, column 34)+ -- use rule "Transform.ag"(line 757, column 34) _lhsOctxCollect = _hdIctxCollect `mergeCtx` _tlIctxCollect- -- use rule "Transform.ag"(line 780, column 33)+ -- use rule "Transform.ag"(line 782, column 33) _lhsOderivings = _hdIderivings `mergeDerivings` _tlIderivings -- use rule "Transform.ag"(line 42, column 19) _lhsOerrors = _hdIerrors Seq.>< _tlIerrors- -- use rule "Transform.ag"(line 941, column 37)+ -- use rule "Transform.ag"(line 943, column 37) _lhsOmoduleDecl = _hdImoduleDecl `mplus` _tlImoduleDecl- -- use rule "Transform.ag"(line 732, column 37)+ -- use rule "Transform.ag"(line 734, column 37) _lhsOparamsCollect = _hdIparamsCollect `mergeParams` _tlIparamsCollect- -- use rule "Transform.ag"(line 628, column 34)+ -- use rule "Transform.ag"(line 630, column 34) _lhsOpragmas = _hdIpragmas . _tlIpragmas- -- use rule "Transform.ag"(line 672, column 56)+ -- use rule "Transform.ag"(line 674, column 56) _lhsOsemPragmasCollect = _hdIsemPragmasCollect `pragmaMapUnion` _tlIsemPragmasCollect- -- use rule "Transform.ag"(line 488, column 32)+ -- use rule "Transform.ag"(line 490, column 32) _lhsOtypeSyns = _hdItypeSyns ++ _tlItypeSyns -- use rule "Transform.ag"(line 134, column 15) _lhsOuseMap = _hdIuseMap `merge` _tlIuseMap- -- use rule "Transform.ag"(line 619, column 32)+ -- use rule "Transform.ag"(line 621, column 32) _lhsOwrappers = _hdIwrappers `Set.union` _tlIwrappers -- copy rule (up)@@ -2799,7 +2801,7 @@ _lhsOwrappers :: (Set NontermIdent) _lhsOattrDecls :: (Map NontermIdent (Attributes, Attributes)) _lhsOdefSets :: (Map Identifier (Set NontermIdent,Set Identifier))- -- use rule "Transform.ag"(line 700, column 55)+ -- use rule "Transform.ag"(line 702, column 55) _lhsOattrOrderCollect = Map.empty -- use rule "Transform.ag"(line 44, column 19)@@ -2832,34 +2834,34 @@ -- use rule "Transform.ag"(line 149, column 32) _lhsOcollectedUniques = []- -- use rule "Transform.ag"(line 755, column 34)+ -- use rule "Transform.ag"(line 757, column 34) _lhsOctxCollect = Map.empty- -- use rule "Transform.ag"(line 780, column 33)+ -- use rule "Transform.ag"(line 782, column 33) _lhsOderivings = Map.empty -- use rule "Transform.ag"(line 42, column 19) _lhsOerrors = Seq.empty- -- use rule "Transform.ag"(line 941, column 37)+ -- use rule "Transform.ag"(line 943, column 37) _lhsOmoduleDecl = mzero- -- use rule "Transform.ag"(line 732, column 37)+ -- use rule "Transform.ag"(line 734, column 37) _lhsOparamsCollect = Map.empty- -- use rule "Transform.ag"(line 628, column 34)+ -- use rule "Transform.ag"(line 630, column 34) _lhsOpragmas = id- -- use rule "Transform.ag"(line 672, column 56)+ -- use rule "Transform.ag"(line 674, column 56) _lhsOsemPragmasCollect = Map.empty- -- use rule "Transform.ag"(line 488, column 32)+ -- use rule "Transform.ag"(line 490, column 32) _lhsOtypeSyns = [] -- use rule "Transform.ag"(line 134, column 15) _lhsOuseMap = Map.empty- -- use rule "Transform.ag"(line 619, column 32)+ -- use rule "Transform.ag"(line 621, column 32) _lhsOwrappers = Set.empty -- copy rule (chain)@@ -2938,7 +2940,7 @@ (let _lhsOnontSet :: (Set NontermIdent) _lhsOcollectedNames :: (Set Identifier) _lhsOerrors :: (Seq Error)- -- "Transform.ag"(line 565, column 16)+ -- "Transform.ag"(line 567, column 16) _lhsOnontSet = _lhsIallNonterminals -- use rule "Transform.ag"(line 83, column 50)@@ -2970,7 +2972,7 @@ _set2IcollectedNames :: (Set Identifier) _set2Ierrors :: (Seq Error) _set2InontSet :: (Set NontermIdent)- -- "Transform.ag"(line 571, column 16)+ -- "Transform.ag"(line 573, column 16) _lhsOnontSet = Set.difference _set1InontSet _set2InontSet -- use rule "Transform.ag"(line 83, column 50)@@ -3024,7 +3026,7 @@ _set2IcollectedNames :: (Set Identifier) _set2Ierrors :: (Seq Error) _set2InontSet :: (Set NontermIdent)- -- "Transform.ag"(line 570, column 16)+ -- "Transform.ag"(line 572, column 16) _lhsOnontSet = Set.intersection _set1InontSet _set2InontSet -- use rule "Transform.ag"(line 83, column 50)@@ -3065,18 +3067,18 @@ (let _lhsOcollectedNames :: (Set Identifier) _lhsOerrors :: (Seq Error) _lhsOnontSet :: (Set NontermIdent)- -- "Transform.ag"(line 450, column 14)+ -- "Transform.ag"(line 452, column 14) _lhsOcollectedNames = Set.singleton name_- -- "Transform.ag"(line 566, column 20)+ -- "Transform.ag"(line 568, column 20) __tup4 = case Map.lookup name_ _lhsIdefinedSets of Nothing -> (Set.empty, Seq.singleton (UndefNont name_)) Just set -> (set, Seq.empty)- -- "Transform.ag"(line 566, column 20)+ -- "Transform.ag"(line 568, column 20) (_nontSet,_) = __tup4- -- "Transform.ag"(line 566, column 20)+ -- "Transform.ag"(line 568, column 20) (_,_errors) = __tup4 -- use rule "Transform.ag"(line 42, column 19)@@ -3096,11 +3098,11 @@ (let _lhsOnontSet :: (Set NontermIdent) _lhsOerrors :: (Seq Error) _lhsOcollectedNames :: (Set Identifier)- -- "Transform.ag"(line 572, column 16)+ -- "Transform.ag"(line 574, column 16) _lhsOnontSet = let table = flattenDatas _lhsIallFields in path table from_ to_- -- "Transform.ag"(line 574, column 16)+ -- "Transform.ag"(line 576, column 16) _lhsOerrors = let check name | Set.member name _lhsIallNonterminals = Seq.empty@@ -3132,7 +3134,7 @@ _set2IcollectedNames :: (Set Identifier) _set2Ierrors :: (Seq Error) _set2InontSet :: (Set NontermIdent)- -- "Transform.ag"(line 569, column 16)+ -- "Transform.ag"(line 571, column 16) _lhsOnontSet = Set.union _set1InontSet _set2InontSet -- use rule "Transform.ag"(line 83, column 50)@@ -3244,16 +3246,16 @@ _partsIdefinedAttrs :: ([AttrName]) _partsIdefinedInsts :: ([Identifier]) _partsIpatunder :: ([AttrName]->Patterns)- -- "Transform.ag"(line 917, column 11)+ -- "Transform.ag"(line 919, column 11) _lhsOdefinedAttrs = (field_, attr_) : _patIdefinedAttrs- -- "Transform.ag"(line 918, column 11)+ -- "Transform.ag"(line 920, column 11) _lhsOpatunder = \us -> if ((field_,attr_) `elem` us) then Underscore noPos else _copy- -- "Transform.ag"(line 919, column 11)+ -- "Transform.ag"(line 921, column 11) _lhsOdefinedInsts = (if field_ == _INST then [attr_] else []) ++ _patIdefinedInsts- -- "Transform.ag"(line 934, column 16)+ -- "Transform.ag"(line 936, column 16) _lhsOstpos = getPos field_ -- self rule@@ -3280,16 +3282,16 @@ _patsIdefinedAttrs :: ([AttrName]) _patsIdefinedInsts :: ([Identifier]) _patsIpatunder :: ([AttrName]->Patterns)- -- "Transform.ag"(line 921, column 12)+ -- "Transform.ag"(line 923, column 12) _lhsOpatunder = \us -> Constr name_ (_patsIpatunder us)- -- "Transform.ag"(line 932, column 16)+ -- "Transform.ag"(line 934, column 16) _lhsOstpos = getPos name_- -- use rule "Transform.ag"(line 912, column 42)+ -- use rule "Transform.ag"(line 914, column 42) _lhsOdefinedAttrs = _patsIdefinedAttrs- -- use rule "Transform.ag"(line 911, column 55)+ -- use rule "Transform.ag"(line 913, column 55) _lhsOdefinedInsts = _patsIdefinedInsts -- self rule@@ -3314,13 +3316,13 @@ _patIdefinedInsts :: ([Identifier]) _patIpatunder :: ([AttrName]->Pattern) _patIstpos :: Pos- -- "Transform.ag"(line 923, column 17)+ -- "Transform.ag"(line 925, column 17) _lhsOpatunder = \us -> Irrefutable (_patIpatunder us)- -- use rule "Transform.ag"(line 912, column 42)+ -- use rule "Transform.ag"(line 914, column 42) _lhsOdefinedAttrs = _patIdefinedAttrs- -- use rule "Transform.ag"(line 911, column 55)+ -- use rule "Transform.ag"(line 913, column 55) _lhsOdefinedInsts = _patIdefinedInsts -- self rule@@ -3348,16 +3350,16 @@ _patsIdefinedAttrs :: ([AttrName]) _patsIdefinedInsts :: ([Identifier]) _patsIpatunder :: ([AttrName]->Patterns)- -- "Transform.ag"(line 922, column 13)+ -- "Transform.ag"(line 924, column 13) _lhsOpatunder = \us -> Product pos_ (_patsIpatunder us)- -- "Transform.ag"(line 933, column 16)+ -- "Transform.ag"(line 935, column 16) _lhsOstpos = pos_- -- use rule "Transform.ag"(line 912, column 42)+ -- use rule "Transform.ag"(line 914, column 42) _lhsOdefinedAttrs = _patsIdefinedAttrs- -- use rule "Transform.ag"(line 911, column 55)+ -- use rule "Transform.ag"(line 913, column 55) _lhsOdefinedInsts = _patsIdefinedInsts -- self rule@@ -3377,16 +3379,16 @@ _lhsOdefinedAttrs :: ([AttrName]) _lhsOdefinedInsts :: ([Identifier]) _lhsOcopy :: Pattern- -- "Transform.ag"(line 920, column 16)+ -- "Transform.ag"(line 922, column 16) _lhsOpatunder = \us -> _copy- -- "Transform.ag"(line 935, column 16)+ -- "Transform.ag"(line 937, column 16) _lhsOstpos = pos_- -- use rule "Transform.ag"(line 912, column 42)+ -- use rule "Transform.ag"(line 914, column 42) _lhsOdefinedAttrs = []- -- use rule "Transform.ag"(line 911, column 55)+ -- use rule "Transform.ag"(line 913, column 55) _lhsOdefinedInsts = [] -- self rule@@ -3447,13 +3449,13 @@ _tlIdefinedAttrs :: ([AttrName]) _tlIdefinedInsts :: ([Identifier]) _tlIpatunder :: ([AttrName]->Patterns)- -- "Transform.ag"(line 927, column 10)+ -- "Transform.ag"(line 929, column 10) _lhsOpatunder = \us -> (_hdIpatunder us) : (_tlIpatunder us)- -- use rule "Transform.ag"(line 912, column 42)+ -- use rule "Transform.ag"(line 914, column 42) _lhsOdefinedAttrs = _hdIdefinedAttrs ++ _tlIdefinedAttrs- -- use rule "Transform.ag"(line 911, column 55)+ -- use rule "Transform.ag"(line 913, column 55) _lhsOdefinedInsts = _hdIdefinedInsts ++ _tlIdefinedInsts -- self rule@@ -3473,13 +3475,13 @@ _lhsOdefinedAttrs :: ([AttrName]) _lhsOdefinedInsts :: ([Identifier]) _lhsOcopy :: Patterns- -- "Transform.ag"(line 926, column 9)+ -- "Transform.ag"(line 928, column 9) _lhsOpatunder = \us -> []- -- use rule "Transform.ag"(line 912, column 42)+ -- use rule "Transform.ag"(line 914, column 42) _lhsOdefinedAttrs = []- -- use rule "Transform.ag"(line 911, column 55)+ -- use rule "Transform.ag"(line 913, column 55) _lhsOdefinedInsts = [] -- self rule@@ -3560,25 +3562,25 @@ _rulesIruleInfos :: ([RuleInfo]) _rulesIsigInfos :: ([SigInfo]) _rulesIuniqueInfos :: ([UniqueInfo])- -- "Transform.ag"(line 676, column 7)+ -- "Transform.ag"(line 678, column 7) _pragmaNames = Set.fromList _rulesIpragmaNamesCollect- -- "Transform.ag"(line 677, column 7)+ -- "Transform.ag"(line 679, column 7) _lhsOsemPragmasCollect = foldr pragmaMapUnion Map.empty [ pragmaMapSingle nt con _pragmaNames | (nt, conset, _) <- _coninfo , con <- Set.toList conset ]- -- "Transform.ag"(line 705, column 7)+ -- "Transform.ag"(line 707, column 7) _attrOrders = [ orderMapSingle nt con _rulesIorderDepsCollect | (nt, conset, _) <- _coninfo , con <- Set.toList conset ]- -- "Transform.ag"(line 711, column 7)+ -- "Transform.ag"(line 713, column 7) _lhsOattrOrderCollect = foldr orderMapUnion Map.empty _attrOrders- -- "Transform.ag"(line 855, column 12)+ -- "Transform.ag"(line 857, column 12) _coninfo = [ (nt, conset, conkeys) | nt <- Set.toList _lhsInts@@ -3586,40 +3588,40 @@ , let conkeys = Set.fromList (Map.keys conmap) , let conset = _constructorSetIconstructors conkeys ]- -- "Transform.ag"(line 862, column 12)+ -- "Transform.ag"(line 864, column 12) _lhsOerrors = Seq.fromList [ UndefAlt nt con | (nt, conset, conkeys) <- _coninfo , con <- Set.toList (Set.difference conset conkeys) ]- -- "Transform.ag"(line 867, column 12)+ -- "Transform.ag"(line 869, column 12) _lhsOcollectedRules = [ (nt,con,r) | (nt, conset, _) <- _coninfo , con <- Set.toList conset , r <- _rulesIruleInfos ]- -- "Transform.ag"(line 873, column 12)+ -- "Transform.ag"(line 875, column 12) _lhsOcollectedSigs = [ (nt,con,ts) | (nt, conset, _) <- _coninfo , con <- Set.toList conset , ts <- _rulesIsigInfos ]- -- "Transform.ag"(line 880, column 12)+ -- "Transform.ag"(line 882, column 12) _lhsOcollectedInsts = [ (nt,con,_rulesIdefinedInsts) | (nt, conset, _) <- _coninfo , con <- Set.toList conset ]- -- "Transform.ag"(line 886, column 12)+ -- "Transform.ag"(line 888, column 12) _lhsOcollectedUniques = [ (nt,con,_rulesIuniqueInfos) | (nt, conset, _) <- _coninfo , con <- Set.toList conset ]- -- "Transform.ag"(line 892, column 12)+ -- "Transform.ag"(line 894, column 12) _lhsOcollectedAugments = [ (nt, con, _rulesIaugmentInfos) | (nt, conset, _) <- _coninfo@@ -3708,7 +3710,7 @@ _tlIcollectedUniques :: ([ (NontermIdent, ConstructorIdent, [UniqueInfo]) ]) _tlIerrors :: (Seq Error) _tlIsemPragmasCollect :: PragmaMap- -- use rule "Transform.ag"(line 700, column 55)+ -- use rule "Transform.ag"(line 702, column 55) _lhsOattrOrderCollect = _hdIattrOrderCollect `orderMapUnion` _tlIattrOrderCollect -- use rule "Transform.ag"(line 150, column 32)@@ -3729,7 +3731,7 @@ -- use rule "Transform.ag"(line 42, column 19) _lhsOerrors = _hdIerrors Seq.>< _tlIerrors- -- use rule "Transform.ag"(line 672, column 56)+ -- use rule "Transform.ag"(line 674, column 56) _lhsOsemPragmasCollect = _hdIsemPragmasCollect `pragmaMapUnion` _tlIsemPragmasCollect -- copy rule (down)@@ -3768,7 +3770,7 @@ _lhsOcollectedUniques :: ([ (NontermIdent, ConstructorIdent, [UniqueInfo]) ]) _lhsOerrors :: (Seq Error) _lhsOsemPragmasCollect :: PragmaMap- -- use rule "Transform.ag"(line 700, column 55)+ -- use rule "Transform.ag"(line 702, column 55) _lhsOattrOrderCollect = Map.empty -- use rule "Transform.ag"(line 150, column 32)@@ -3789,7 +3791,7 @@ -- use rule "Transform.ag"(line 42, column 19) _lhsOerrors = Seq.empty- -- use rule "Transform.ag"(line 672, column 56)+ -- use rule "Transform.ag"(line 674, column 56) _lhsOsemPragmasCollect = Map.empty in ( _lhsOattrOrderCollect,_lhsOcollectedAugments,_lhsOcollectedInsts,_lhsOcollectedRules,_lhsOcollectedSigs,_lhsOcollectedUniques,_lhsOerrors,_lhsOsemPragmasCollect))) )@@ -3863,28 +3865,28 @@ _lhsOruleInfos :: ([RuleInfo]) _lhsOsigInfos :: ([SigInfo]) _lhsOuniqueInfos :: ([UniqueInfo])- -- "Transform.ag"(line 717, column 7)+ -- "Transform.ag"(line 719, column 7) _dependency = [ Dependency b a | b <- before_, a <- after_ ]- -- "Transform.ag"(line 718, column 7)+ -- "Transform.ag"(line 720, column 7) _lhsOorderDepsCollect = Set.fromList _dependency- -- use rule "Transform.ag"(line 850, column 40)+ -- use rule "Transform.ag"(line 852, column 40) _lhsOaugmentInfos = []- -- use rule "Transform.ag"(line 911, column 55)+ -- use rule "Transform.ag"(line 913, column 55) _lhsOdefinedInsts = []- -- use rule "Transform.ag"(line 682, column 46)+ -- use rule "Transform.ag"(line 684, column 46) _lhsOpragmaNamesCollect = []- -- use rule "Transform.ag"(line 847, column 40)+ -- use rule "Transform.ag"(line 849, column 40) _lhsOruleInfos = []- -- use rule "Transform.ag"(line 848, column 40)+ -- use rule "Transform.ag"(line 850, column 40) _lhsOsigInfos = []- -- use rule "Transform.ag"(line 849, column 40)+ -- use rule "Transform.ag"(line 851, column 40) _lhsOuniqueInfos = [] in ( _lhsOaugmentInfos,_lhsOdefinedInsts,_lhsOorderDepsCollect,_lhsOpragmaNamesCollect,_lhsOruleInfos,_lhsOsigInfos,_lhsOuniqueInfos)) )@@ -3899,25 +3901,25 @@ _lhsOruleInfos :: ([RuleInfo]) _lhsOsigInfos :: ([SigInfo]) _lhsOuniqueInfos :: ([UniqueInfo])- -- "Transform.ag"(line 908, column 17)+ -- "Transform.ag"(line 910, column 17) _lhsOaugmentInfos = [ (ident_, rhs_) ]- -- use rule "Transform.ag"(line 911, column 55)+ -- use rule "Transform.ag"(line 913, column 55) _lhsOdefinedInsts = []- -- use rule "Transform.ag"(line 713, column 44)+ -- use rule "Transform.ag"(line 715, column 44) _lhsOorderDepsCollect = Set.empty- -- use rule "Transform.ag"(line 682, column 46)+ -- use rule "Transform.ag"(line 684, column 46) _lhsOpragmaNamesCollect = []- -- use rule "Transform.ag"(line 847, column 40)+ -- use rule "Transform.ag"(line 849, column 40) _lhsOruleInfos = []- -- use rule "Transform.ag"(line 848, column 40)+ -- use rule "Transform.ag"(line 850, column 40) _lhsOsigInfos = []- -- use rule "Transform.ag"(line 849, column 40)+ -- use rule "Transform.ag"(line 851, column 40) _lhsOuniqueInfos = [] in ( _lhsOaugmentInfos,_lhsOdefinedInsts,_lhsOorderDepsCollect,_lhsOpragmaNamesCollect,_lhsOruleInfos,_lhsOsigInfos,_lhsOuniqueInfos)) )@@ -3938,25 +3940,25 @@ _patternIdefinedInsts :: ([Identifier]) _patternIpatunder :: ([AttrName]->Pattern) _patternIstpos :: Pos- -- "Transform.ag"(line 899, column 10)+ -- "Transform.ag"(line 901, column 10) _lhsOruleInfos = [ (_patternIpatunder, rhs_, _patternIdefinedAttrs, owrt_, show _patternIstpos) ]- -- use rule "Transform.ag"(line 850, column 40)+ -- use rule "Transform.ag"(line 852, column 40) _lhsOaugmentInfos = []- -- use rule "Transform.ag"(line 911, column 55)+ -- use rule "Transform.ag"(line 913, column 55) _lhsOdefinedInsts = _patternIdefinedInsts- -- use rule "Transform.ag"(line 713, column 44)+ -- use rule "Transform.ag"(line 715, column 44) _lhsOorderDepsCollect = Set.empty- -- use rule "Transform.ag"(line 682, column 46)+ -- use rule "Transform.ag"(line 684, column 46) _lhsOpragmaNamesCollect = []- -- use rule "Transform.ag"(line 848, column 40)+ -- use rule "Transform.ag"(line 850, column 40) _lhsOsigInfos = []- -- use rule "Transform.ag"(line 849, column 40)+ -- use rule "Transform.ag"(line 851, column 40) _lhsOuniqueInfos = [] ( _patternIcopy,_patternIdefinedAttrs,_patternIdefinedInsts,_patternIpatunder,_patternIstpos) =@@ -3972,25 +3974,25 @@ _lhsOruleInfos :: ([RuleInfo]) _lhsOsigInfos :: ([SigInfo]) _lhsOuniqueInfos :: ([UniqueInfo])- -- "Transform.ag"(line 686, column 7)+ -- "Transform.ag"(line 688, column 7) _lhsOpragmaNamesCollect = names_- -- use rule "Transform.ag"(line 850, column 40)+ -- use rule "Transform.ag"(line 852, column 40) _lhsOaugmentInfos = []- -- use rule "Transform.ag"(line 911, column 55)+ -- use rule "Transform.ag"(line 913, column 55) _lhsOdefinedInsts = []- -- use rule "Transform.ag"(line 713, column 44)+ -- use rule "Transform.ag"(line 715, column 44) _lhsOorderDepsCollect = Set.empty- -- use rule "Transform.ag"(line 847, column 40)+ -- use rule "Transform.ag"(line 849, column 40) _lhsOruleInfos = []- -- use rule "Transform.ag"(line 848, column 40)+ -- use rule "Transform.ag"(line 850, column 40) _lhsOsigInfos = []- -- use rule "Transform.ag"(line 849, column 40)+ -- use rule "Transform.ag"(line 851, column 40) _lhsOuniqueInfos = [] in ( _lhsOaugmentInfos,_lhsOdefinedInsts,_lhsOorderDepsCollect,_lhsOpragmaNamesCollect,_lhsOruleInfos,_lhsOsigInfos,_lhsOuniqueInfos)) )@@ -4005,25 +4007,25 @@ _lhsOpragmaNamesCollect :: ([Identifier]) _lhsOruleInfos :: ([RuleInfo]) _lhsOuniqueInfos :: ([UniqueInfo])- -- "Transform.ag"(line 902, column 14)+ -- "Transform.ag"(line 904, column 14) _lhsOsigInfos = [ (ident_, tp_) ]- -- use rule "Transform.ag"(line 850, column 40)+ -- use rule "Transform.ag"(line 852, column 40) _lhsOaugmentInfos = []- -- use rule "Transform.ag"(line 911, column 55)+ -- use rule "Transform.ag"(line 913, column 55) _lhsOdefinedInsts = []- -- use rule "Transform.ag"(line 713, column 44)+ -- use rule "Transform.ag"(line 715, column 44) _lhsOorderDepsCollect = Set.empty- -- use rule "Transform.ag"(line 682, column 46)+ -- use rule "Transform.ag"(line 684, column 46) _lhsOpragmaNamesCollect = []- -- use rule "Transform.ag"(line 847, column 40)+ -- use rule "Transform.ag"(line 849, column 40) _lhsOruleInfos = []- -- use rule "Transform.ag"(line 849, column 40)+ -- use rule "Transform.ag"(line 851, column 40) _lhsOuniqueInfos = [] in ( _lhsOaugmentInfos,_lhsOdefinedInsts,_lhsOorderDepsCollect,_lhsOpragmaNamesCollect,_lhsOruleInfos,_lhsOsigInfos,_lhsOuniqueInfos)) )@@ -4038,25 +4040,25 @@ _lhsOpragmaNamesCollect :: ([Identifier]) _lhsOruleInfos :: ([RuleInfo]) _lhsOsigInfos :: ([SigInfo])- -- "Transform.ag"(line 905, column 16)+ -- "Transform.ag"(line 907, column 16) _lhsOuniqueInfos = [ (ident_, ref_) ]- -- use rule "Transform.ag"(line 850, column 40)+ -- use rule "Transform.ag"(line 852, column 40) _lhsOaugmentInfos = []- -- use rule "Transform.ag"(line 911, column 55)+ -- use rule "Transform.ag"(line 913, column 55) _lhsOdefinedInsts = []- -- use rule "Transform.ag"(line 713, column 44)+ -- use rule "Transform.ag"(line 715, column 44) _lhsOorderDepsCollect = Set.empty- -- use rule "Transform.ag"(line 682, column 46)+ -- use rule "Transform.ag"(line 684, column 46) _lhsOpragmaNamesCollect = []- -- use rule "Transform.ag"(line 847, column 40)+ -- use rule "Transform.ag"(line 849, column 40) _lhsOruleInfos = []- -- use rule "Transform.ag"(line 848, column 40)+ -- use rule "Transform.ag"(line 850, column 40) _lhsOsigInfos = [] in ( _lhsOaugmentInfos,_lhsOdefinedInsts,_lhsOorderDepsCollect,_lhsOpragmaNamesCollect,_lhsOruleInfos,_lhsOsigInfos,_lhsOuniqueInfos)) )@@ -4118,25 +4120,25 @@ _tlIruleInfos :: ([RuleInfo]) _tlIsigInfos :: ([SigInfo]) _tlIuniqueInfos :: ([UniqueInfo])- -- use rule "Transform.ag"(line 850, column 40)+ -- use rule "Transform.ag"(line 852, column 40) _lhsOaugmentInfos = _hdIaugmentInfos ++ _tlIaugmentInfos- -- use rule "Transform.ag"(line 911, column 55)+ -- use rule "Transform.ag"(line 913, column 55) _lhsOdefinedInsts = _hdIdefinedInsts ++ _tlIdefinedInsts- -- use rule "Transform.ag"(line 713, column 44)+ -- use rule "Transform.ag"(line 715, column 44) _lhsOorderDepsCollect = _hdIorderDepsCollect `Set.union` _tlIorderDepsCollect- -- use rule "Transform.ag"(line 682, column 46)+ -- use rule "Transform.ag"(line 684, column 46) _lhsOpragmaNamesCollect = _hdIpragmaNamesCollect ++ _tlIpragmaNamesCollect- -- use rule "Transform.ag"(line 847, column 40)+ -- use rule "Transform.ag"(line 849, column 40) _lhsOruleInfos = _hdIruleInfos ++ _tlIruleInfos- -- use rule "Transform.ag"(line 848, column 40)+ -- use rule "Transform.ag"(line 850, column 40) _lhsOsigInfos = _hdIsigInfos ++ _tlIsigInfos- -- use rule "Transform.ag"(line 849, column 40)+ -- use rule "Transform.ag"(line 851, column 40) _lhsOuniqueInfos = _hdIuniqueInfos ++ _tlIuniqueInfos ( _hdIaugmentInfos,_hdIdefinedInsts,_hdIorderDepsCollect,_hdIpragmaNamesCollect,_hdIruleInfos,_hdIsigInfos,_hdIuniqueInfos) =@@ -4153,25 +4155,25 @@ _lhsOruleInfos :: ([RuleInfo]) _lhsOsigInfos :: ([SigInfo]) _lhsOuniqueInfos :: ([UniqueInfo])- -- use rule "Transform.ag"(line 850, column 40)+ -- use rule "Transform.ag"(line 852, column 40) _lhsOaugmentInfos = []- -- use rule "Transform.ag"(line 911, column 55)+ -- use rule "Transform.ag"(line 913, column 55) _lhsOdefinedInsts = []- -- use rule "Transform.ag"(line 713, column 44)+ -- use rule "Transform.ag"(line 715, column 44) _lhsOorderDepsCollect = Set.empty- -- use rule "Transform.ag"(line 682, column 46)+ -- use rule "Transform.ag"(line 684, column 46) _lhsOpragmaNamesCollect = []- -- use rule "Transform.ag"(line 847, column 40)+ -- use rule "Transform.ag"(line 849, column 40) _lhsOruleInfos = []- -- use rule "Transform.ag"(line 848, column 40)+ -- use rule "Transform.ag"(line 850, column 40) _lhsOsigInfos = []- -- use rule "Transform.ag"(line 849, column 40)+ -- use rule "Transform.ag"(line 851, column 40) _lhsOuniqueInfos = [] in ( _lhsOaugmentInfos,_lhsOdefinedInsts,_lhsOorderDepsCollect,_lhsOpragmaNamesCollect,_lhsOruleInfos,_lhsOsigInfos,_lhsOuniqueInfos)) )
src/Version.hs view
@@ -1,4 +1,4 @@ module Version where banner :: String -banner = "Attribute Grammar compiler / HUT project. Version 0.9.16" +banner = "Attribute Grammar compiler / HUT project. Version 0.9.17"
uuagc.cabal view
@@ -1,7 +1,7 @@ cabal-version: >=1.2 build-type: Simple name: uuagc-version: 0.9.16+version: 0.9.17 license: GPL license-file: LICENSE maintainer: Arie Middelkoop <ariem@cs.uu.nl>
uuagc.cabal-for-ghc-6.6 view
@@ -1,5 +1,5 @@ name: uuagc-version: 0.9.16+version: 0.9.17 license: GPL license-file: LICENSE maintainer: Arie Middelkoop <ariem@cs.uu.nl>