added semantic analysis to gui