From b33c4977fff6bad375551eaf4fed0aa06daf1c88 Mon Sep 17 00:00:00 2001 From: Michael Andreen Date: Fri, 24 Feb 2006 14:38:31 +0000 Subject: [PATCH] needed --- Abssyntax.hs | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 Abssyntax.hs diff --git a/Abssyntax.hs b/Abssyntax.hs new file mode 100644 index 0000000..7c95d53 --- /dev/null +++ b/Abssyntax.hs @@ -0,0 +1,57 @@ +module Abssyntax where + +-- Haskell module generated by the BNF converter + +newtype Ident = Ident String deriving (Eq,Ord,Show) + +data Stm = + SDecl Type Ident Exp + | SExp Exp + | SBlock [Stm] + | SIf Exp Stm Stm + | SWhile Exp Stm + | SPrint Exp + | SNoop + deriving (Eq,Ord,Show) + +data Exp = + BExp Exp BOp Exp + | EVar Ident + | EAss Ident Exp + | EInt Integer + | ENeg Exp + | EBool Bool + | EReadI + | EReadB + | ExpT Type Exp + | EDefault + | OpExp Exp Op Exp + | EPost Ident Op + deriving (Eq,Ord,Show) + +data Stms = + Program [Stm] + deriving (Eq,Ord,Show) + +data BOp = + Lt + | ELt + | Gt + | EGt + | Eq + | NEq + deriving (Eq,Ord,Show) + +data Op = + Plus + | Minus + | Times + | Div + deriving (Eq,Ord,Show) + +data Type = + TInt + | TBool + | NoType + deriving (Eq,Ord,Show) + -- 2.39.2