我正在研究一個需要我解析BNF語法的學校項目。我對管道角色(|) - 我認爲這意味着「或」 - 在規則中扮演的角色有點困惑。| |如何?影響BNF語法?
舉例來說,如果我有以下幾點:
<a> ::= b c d | e f g
哪個終端是|應用於?使用圓括號進行分組,這將描述如何應用「或」。
(b c d) | (e f g)
(b c)(d) | (e)(f g)
是|適用於整套終端,或者僅適用於|?
如果我有一個設置,如:
<a> ::= b | <c> <d>
<b> ::= e | f
<c> ::= g | h
它仍然會是真實的,如果<c>
和<d>
指非終端?要什麼|在這種情況下適用?
最後一個有意義的非n00b問題在StackOverflow!肯定+1。 – 2012-07-20 04:44:55