[英]Backus Naur Form Assoicativity
這是實現冪PowExp的正確關聯性的正確方法嗎? 這樣2 ^ 3 ^ 4實際上是(2 ^(3 ^ 4))
<Exp> ::= <Exp> + <MulExp>
| <Exp> - <MulExp>
| <MulExp>
<MulExp> ::= <MulExp> * <PowExp>
| <MulExp> / <PowExp>
| <PowExp>
<PowExp> ::= <NegExp> ^ <PowExp>
|<NegExp>
<NegExp> ::= - <RootExp>
| <RootExp>
<RootExp> ::= ( <Exp> )
| 1 | 2 | 3 | 4
您編寫的方式是正確的。
順便說一下,您可能想重新考慮您的層次結構; 在常規數學中,-3 4是 - (3 4 ),而不是(-3) 4 。 因此,您可能希望- 3 ^ 4
表示- (3 ^ 4)
,在這種情況下, NegExp
將包含PowExp
而不是其他方式。 (不過,我想這可能是混亂,如果-3 ^ 4
的手段-(3 ^ 4)
所以也許有這里沒有直觀的訂單中的操作另一種可能性是需要要么讀書圓括號,具有PowExp
和NegExp
都依賴直接在RootExp
。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.