在正式介紹文法的知識以前,先來看一下西天取經團隊成員的文法定義,以便對文法有個感性認識。 spa
1. <西天取經團隊成員>::=<師父>|<徒弟成員>編譯器
2. <師父>::= 「唐僧」編譯
3. <徒弟成員>::=」孫悟空」|」豬八戒」|」沙和尚」|」白龍馬」原理
不用我多解釋,你們也知道上面文法的含義吧。西天取經團隊成員是師父或徒弟,師父是「唐僧」,徒弟成員是」孫悟空」、」豬八戒」、沙和尚」或」白龍馬」。語法
問你們一個問題,西天取經團隊成員中,有一位他的名字中第一字是「孫」,問這位成員是誰?「,讀者可能會說,這麼弱智的問題還好意思拿出來問,固然是「孫悟空」。
再舉一個例子:
<陳述句>::=<陳述句內容>。
再問一個問題,根據<陳述句>的文法定義,<陳述句內容>以什麼結尾,你會說固然是以句號結尾。
若是上述兩個問題你都答對了,那麼恭喜你,你讀後面的詞法分析和語法分析部分,將不會遇到太大的困難,由於後面的詞法語法部分,用到的就是這個原理。後面文縐縐的對First集,Follow集的定義,其實描述的就是這點事。
本身動手寫編譯器、連接器 Author