我在編譯器課程中有這個問題,但我不知道如何處理它。任何人都可以給我一個比標題中給出的更好的提示嗎?編程語言語法
顯示的是由以下語法生成的所有二進制字符串具有值 由3
提示可分:使用感應上的數值在解析樹節點。
num -> 11 | 1001 | num 0 | num num
我在編譯器課程中有這個問題,但我不知道如何處理它。任何人都可以給我一個比標題中給出的更好的提示嗎?編程語言語法
顯示的是由以下語法生成的所有二進制字符串具有值 由3
提示可分:使用感應上的數值在解析樹節點。
num -> 11 | 1001 | num 0 | num num
這裏有兩個提示:
追加一個0到二進制表示由2
追加的二進制表示,以本身等同於乘法相當於乘法by 2^N + 1.
好吧,所以基本上我們會到達連接到11或1001的點。除了那兩個,num num也可以被3整除。因此num 0只是將可以被3整除的值加倍。是正確的? – 2012-04-09 20:51:40
@SorinCioban:的確如此。 – 2012-04-09 20:54:01
@DavidStratton:嗯?感應就像基本的數學技巧,幾乎不是一個「炫耀」字。如果你正在學習編譯器,你應該已經瞭解了歸納。這是一個抱怨「水」是一個bragadoccio詞的孩子。 – Amadan 2012-04-09 15:40:40
@Amadan - * LOL *採取的要點。評論已刪除。它無論如何都是不合適的。我只是這麼多年沒有上過學,所以我必須認真思考,記住我從未在日常生活中使用過的術語。我只是一個失敗的記憶體而已。布拉多喬 - 那很好。 – David 2012-04-09 15:48:16