Separation of syntanx and semantic check.