added interface for semanticAnalyzer, see issue #26