add basis for semantic analyzer