module Types (
  CodeText(..)
, CodeTextStr
, CodeGen(..)
) where

type CodeTextStr = (CodeText, String)

data CodeText
  = Text
  | Code   | CodeTop  | CodeBegin  | CodeCont | CodeEnd
  | CodeEq | CodeEqEq | CodeEqShow | CodeEqEqShow
  deriving (Show, Eq)

data CodeGen = CodeGen { getImport     :: [ (String, String) ],
			 getTop        :: [ String ]          ,
                         getDefinition :: [ (String, String) ],
			 getInner      :: [ CodeTextStr ]     }
