Undeclared error en untested function typing
[cc1516.git] / sem.dcl
diff --git a/sem.dcl b/sem.dcl
index 92f1d51..0d4a7d6 100644 (file)
--- a/sem.dcl
+++ b/sem.dcl
@@ -1,7 +1,20 @@
 definition module sem
 
+import qualified Data.Map as Map
 from Data.Either import :: Either
-from AST import :: AST
-from lex import :: Error
+from AST import :: AST, :: Pos, :: Type, :: FieldSelector
+from StdOverloaded import class toString
 
-semanticAnalysis :: AST -> Either String AST
+:: SemError 
+       = ParseError Pos String 
+       | UnifyError Pos Type Type 
+    | FieldSelectorError Pos Type FieldSelector 
+    | UndeclaredVariableError Pos String
+       | Error String
+:: Gamma
+:: SemOutput :== Either [SemError] (AST, Gamma)
+
+instance toString SemError
+instance toString Gamma
+
+sem :: AST -> SemOutput