我们先来哲学三问:语法和语义是什么、为什么要知道语法和语义、怎么做才能摸清语法和语义。
01-语法和语义是什么
任何编程语言都离不开语法和语义,或许与哲学相关,可以联想到《易经》的阴和阳,或者计算机二进制中的0和1,理解为从属领域内事物的基准,万物起于始,也终于始,也就是语法和语义是一门语言的基准,语言从此开始,也结束于此,这里是一个闭环的定义,稍微有点抽象。下面引用《计算的本质:深入剖析程序和计算机》内的解释,比较通俗易懂,这也是面向计算机的一种解释,所以直接引用了:
为了完整地定义编程语言,我们需要:语法,描述程序看起来是什么样的;语义,描述程序的含义。
——《计算的本质:深入剖析程序和计算机》
按照这个解释,语法和语义解决了两个问题:
第一是编程语言长什么样子(外部结构),例如用于区分a = b + 1是编程语言,而a=%&am