2014-02-06 89 views
3

此語法是從「C編程語言2E」的參考部分。如何閱讀這個語法? (C程序設計語言2E)

A.7.6乘法運算符

乘法運算符*,/,和%組左到右。

multiplicative-expression: 
    multiplicative-expression * cast-expression 
    multiplicative-expression/cast-expression 
    multiplicative-expression % cast-expression 

我明白乘法表達由三個子表達式。但它對我來說看起來像一個循環語法。因爲語法不包括像'主表達式'這樣的終端表達式。

如何閱讀本語法?

+0

你肯定沒有另一條線?也許在下一頁?應該有一行像'cast-expression'一樣的東西。如果沒有,這是一個錯誤。 – user2357112

回答

1

東西確實是不妥的生產所呈現!

應該有一個規則multiplicative-expression: cast-expression的地方;請參閱The syntax of C in Backus-Naur Form

然而,如在後提出的(不含上述規則)相同的語法出現在PDF文件('88/2E打印),我在網上找到並沒有errata注的話題 - 也許有應該是;-)

2

最權威的參考應該是標準或標準草案,同時C99和C11是公開的一個。如果我們看一下draft C99 standard部分6.5.5乘法運算語法如下:

multiplicative-expression: 
    cast-expression 
    multiplicative-expression * cast-expression 
    multiplicative-expression/cast-expression 
    multiplicative-expression % cast-expression