我在BNF遇到了一些麻煩。我不知道什麼似乎是做事的標準方式(如果有的話),以及是否有類似char或int或其他內置類型。寫BNF時{和}之間有什麼關係?
但是,我的主要問題是瞭解花括號中的BNF部分是如何工作的。
鑑於這樣的:
exp : term {$$ = $1;}
| exp '+' term {$$ = $1 + $3;}
| exp '-' term {$$ = $1 - $3;}
;
(這是輕而易舉地從什麼地方偷來的,是YACC/C)
什麼是大括號的東西實際上是在說?我也看到了類似的東西快樂的分析器生成器也一樣困惑。
這是功課嗎? – jcolebrand 2010-10-27 21:37:23
哦,這實際上不是BNF。 – 2010-10-27 21:44:15
@drachenstern:雖然這個問題主要是因爲我在看BNF而被問到,因爲我必須爲Happy編寫一些東西來爲編譯器任務創建一個玩具語言的解析器,但它本身並不是一個家庭作業問題。我不明白當我使用谷歌搜索時我正在看的東西,因此問。所以這不是家庭作業,但它與我的學位課程有關。即使那樣,我也不是要求某人爲我工作,我是在解釋之後。 – Squidly 2010-10-27 22:01:12