add semantic parser class