X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=sem.dcl;h=2b13436634edc08c5e11765533dd8d4d7b12a448;hb=483bcde4dbb75d1901cffad6cc2c45307b7e90a2;hp=be207dd4a4d89183238b337dea0cdd3186a53cda;hpb=c270b0fc79caa24c08c2d00c2e8205bbd47921ed;p=cc1516.git diff --git a/sem.dcl b/sem.dcl index be207dd..2b13436 100644 --- a/sem.dcl +++ b/sem.dcl @@ -1,10 +1,16 @@ definition module sem +import qualified Data.Map as Map from Data.Either import :: Either -from AST import :: AST -from lex import :: Error -from parse import :: ParserOutput +from AST import :: AST, :: Pos, :: Type, :: FieldSelector, :: Op2 +from StdOverloaded import class toString -:: SemOutput :== Either Error AST +:: SemError +:: Gamma +:: SemOutput :== Either [SemError] (AST, Gamma) +:: Constraints :== [(Type, Type)] -sem :: ParserOutput -> SemOutput +instance toString SemError +instance toString Gamma + +sem :: AST -> Either [SemError] AST