-- Haskel data types for the abstract syntax. -- Generated by the BNF converter. -- | The abstract syntax of language Calc. module AbsCalc where import qualified Prelude as T (Integer) import qualified Prelude as C (Eq, Ord, Show, Read) data Exp = EAdd Exp Exp -- ^ Exp ::= Exp "+" Exp1 | EDiv Exp Exp -- ^ Exp ::= Exp1 "/" Exp2 | EInt T.Integer -- ^ Exp ::= Integer | EMul Exp Exp -- ^ Exp ::= Exp1 "*" Exp2 | ESub Exp Exp -- ^ Exp ::= Exp "-" Exp1 deriving (C.Eq, C.Ord, C.Show, C.Read)