学校发的课本是《编译原理 第三版》(清华大学出版社), 其中很多基本概念我都不懂或者忘了,而且书上也没解释,越看到后面越感觉”空穴来风“,啥也不是。在看完哈尔冰工业大学的编译原理mooc之后,感觉,这才是真正的教书啊!与此同时,果断买了一本龙书,抛弃了中南大学的编译原理mooc。在这里将一些基本概念梳理一下。
共识
我想用人民币现金来举例子。大家都知道现在人民币现金面值有: 1角 2角 5角 1元 5元 10元 20元 50 元
100 元。而且假设物品的最高价格为100元。
基本概念
-
终结符(termianl symbol) : 最基本的语法组成单位 (就是语法中最小的语法成分)
举个例子: 人民币现金计价(排除:电子支付),现在最小的为一角(以前有一分哈), 你用纸币来计价的时候就别写¥5.55,因为这个分你用角是还不来的。角就是我们这里所说的终结符。这就是最基本单位的意思。不能够再分了。!!!
-
开始符号(start symbol): 文法中最大的语法成分。
举个例子:100元的商品你可以进行现金支付的方式有几种。100 = 100元 = 10 元 + 20 元 + 20元 + 50元 = 5个20元 = 2个50元.................... = 100个1元 = 1000个1角(估计别人会揍死你!)。 这里100元就有点像现金计价中的开始符号。
总结
- 终结符和非终结符
- 哈工大《编译原理》mooc很好
- 买一本紫龙书
参考
- 哈工大《编译原理》 mooc