what is the difference between syntax and semantic