X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=AST.dcl;h=4f65b0eed3f0868fe52326df8ad8ee2c23b594d8;hb=1f01e39fb2383aa2c63234d0750c0459fe3de752;hp=463c7b7b3dfbfd193c834500a721b8d5eca40116;hpb=220cb1cc56feab3f818503838b3afd7ea2225403;p=cc1516.git diff --git a/AST.dcl b/AST.dcl index 463c7b7..4f65b0e 100644 --- a/AST.dcl +++ b/AST.dcl @@ -1,15 +1,16 @@ definition module AST from Data.Maybe import :: Maybe -from StdOverloaded import class toString, class ==, class zero +from StdOverloaded import class toString, class ==, class zero, class < :: Pos = {line :: Int, col :: Int} :: AST = AST [FunDecl] :: VarDecl = VarDecl Pos (Maybe Type) String Expr +:: TVar :== String :: Type = TupleType (Type, Type) | ListType Type - | IdType String + | IdType TVar | IntType | BoolType | CharType @@ -43,3 +44,8 @@ instance toString Type instance toString AST instance zero Pos +instance == Op1 +instance == Op2 +instance < Op1 +instance < Op2 +instance == Type