definition module sem from Data.Either import :: Either from AST import :: AST from lex import :: Error semanticAnalysis :: AST -> Either String AST