cabal-version: >= 1.8 build-type: Custom name: oberon0 version: 0.0.2 license: LGPL license-file: LICENSE-LGPL maintainer: Marcos Viera description: Oberon0 compiler (from LDTA 2011 challenge) implementation using CoCoCo homepage: http://www.cs.uu.nl/wiki/Center/CoCoCo synopsis: Oberon0 Compiler category: Language stability: Experimental author: Marcos Viera tested-with: GHC >= 7.4.1 Flag l1 description: Oberon-0 default: False Flag l2 description: l1 + FOR + CASE default: False Flag l3 description: l2 + procedures default: False Flag l4 description: l3 + arrays and records default: False Flag t1 description: pretty-printing default: False Flag t2 description: with errors default: False Flag t3 description: type-checking default: False Flag t5 description: code generation default: False library build-depends: base >= 4, base < 5, ghc-prim >= 0.2.0.0, template-haskell build-depends: containers >= 0.4, transformers >= 0.2.2.0, mtl >= 2.0.1.0, array >= 0.3.0.3 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: murder >= 1.3.2 build-depends: AspectAG >= 0.3.6.1 build-depends: HList >= 0.2.3 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances ghc-options: -fcontext-stack=1000 hs-source-dirs: src if flag(t1) || flag(t2) || flag(t3) || flag(t5) exposed-modules: Language.Oberon0.MainT1 if flag(t2) || flag(t3) || flag(t5) exposed-modules: Language.Oberon0.MainT2 if flag(t5) exposed-modules: Language.Oberon0.MainT5 build-depends: language-c >= 0.4.2 if flag(l1) || flag(l2) || flag(l3) || flag(l4) exposed-modules: Language.Oberon0.L1.Decl, Language.Oberon0.L1.Gram if flag(t1) || flag(t2) || flag(t3) || flag(t5) exposed-modules: Language.Oberon0.L1.SemT1 if flag(t2) || flag(t3) || flag(t5) exposed-modules: Language.Oberon0.L1.SemT2 if flag(t3) || flag(t5) exposed-modules: Language.Oberon0.L1.SemT3 if flag(t5) exposed-modules: Language.Oberon0.L1.SemT5 if flag(l2) || flag(l3) || flag(l4) exposed-modules: Language.Oberon0.L2.Decl, Language.Oberon0.L2.Gram if flag(t1) || flag(t2) || flag(t3) || flag(t5) exposed-modules: Language.Oberon0.L2.SemT1 if flag(t2) || flag(t3) || flag(t5) exposed-modules: Language.Oberon0.L2.SemT2 if flag(t3) || flag(t5) exposed-modules: Language.Oberon0.L2.SemT3 if flag(t5) exposed-modules: Language.Oberon0.L2.SemT5 if flag(l3) || flag(l4) exposed-modules: Language.Oberon0.L3.Decl, Language.Oberon0.L3.Gram if flag(t1) || flag(t2) || flag(t3) || flag(t5) exposed-modules: Language.Oberon0.L3.SemT1 if flag(t2) || flag(t3) || flag(t5) exposed-modules: Language.Oberon0.L3.SemT2 if flag(t3) || flag(t5) exposed-modules: Language.Oberon0.L3.SemT3 if flag(t5) exposed-modules: Language.Oberon0.L3.SemT5 if flag(l4) exposed-modules: Language.Oberon0.L4.Decl, Language.Oberon0.L4.Gram if flag(t1) || flag(t2) || flag(t3) || flag(t5) exposed-modules: Language.Oberon0.L4.SemT1 if flag(t2) || flag(t3) || flag(t5) exposed-modules: Language.Oberon0.L4.SemT2 if flag(t3) || flag(t5) exposed-modules: Language.Oberon0.L4.SemT3 if flag(t5) exposed-modules: Language.Oberon0.L4.SemT5 executable l1t1 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L1/T1.hs if !(flag(l1) && flag(t1)) buildable: False executable l1t2 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: containers >= 0.4 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L1/T2.hs if !(flag(l1) && flag(t2)) buildable: False executable l1t3 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: containers >= 0.4 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L1/T3.hs if !(flag(l1) && flag(t3)) buildable: False executable l1t5 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: containers >= 0.4 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 build-depends: language-c >= 0.4.2 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L1/T5.hs if !(flag(l1) && flag(t5)) buildable: False executable l2t1 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L2/T1.hs if !(flag(l2) && flag(t1)) buildable: False executable l2t2 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: containers >= 0.4 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L2/T2.hs if !(flag(l2) && flag(t2)) buildable: False executable l2t3 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: containers >= 0.4 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L2/T3.hs if !(flag(l2) && flag(t3)) buildable: False executable l2t5 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: containers >= 0.4 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 build-depends: language-c >= 0.4.2 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L2/T5.hs if !(flag(l2) && flag(t5)) buildable: False executable l3t1 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L3/T1.hs if !(flag(l3) && flag(t1)) buildable: False executable l3t2 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: containers >= 0.4 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L3/T2.hs if !(flag(l3) && flag(t2)) buildable: False executable l3t3 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: containers >= 0.4 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L3/T3.hs if !(flag(l3) && flag(t3)) buildable: False executable l3t5 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: containers >= 0.4 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 build-depends: language-c >= 0.4.2 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L3/T5.hs if !(flag(l3) && flag(t5)) buildable: False executable l4t1 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L4/T1.hs if !(flag(l4) && flag(t1)) buildable: False executable l4t2 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: containers >= 0.4 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L4/T2.hs if !(flag(l4) && flag(t2)) buildable: False executable l4t3 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: containers >= 0.4 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L4/T3.hs if !(flag(l4) && flag(t3)) buildable: False executable l4t5 build-depends: oberon0 build-depends: base >= 4, base < 5 build-depends: containers >= 0.4 build-depends: AspectAG >= 0.3.6.1 build-depends: murder >= 1.3.2 build-depends: uulib >= 0.9.14, uu-parsinglib >= 2.7.3.4 build-depends: HList >= 0.2.3 build-depends: language-c >= 0.4.2 extensions: TemplateHaskell, EmptyDataDecls, NoMonomorphismRestriction, Arrows, RecursiveDo, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances main-is: src/Language/Oberon0/L4/T5.hs if !(flag(l4) && flag(t5)) buildable: False