YON Blog

Syntax Semantic Grammar

几个概念没有深究过,今天简单理下。

Syntax 关注的是语句怎么构成,Semantic 关注的是语句背后的含义。比如 a = a + 1,是符合 Syntax 的,但如果 a 是字符串类型,那么这句话就不符合语义了。

Grammar 是一个更广义的概念,包含了 Syntax 和 Semantic。如果是自然语言的话,Grammar 还包含了 Morphology 和 Phonology。

顺便说下 Expression 和 Statement 的区别。Expression 表示的是一个值,Statement 是程序的一个行为。例如,调用一个函数是一个表达式,函数定义是一个语句。