簡體   English   中英

“優先爬升方法”中這種語法產生的目的是什么?

[英]What is the purpose of this grammar production in “Precedence Climbing Method”?

我在此處看到了一個所謂的“優先爬升方法”的示例,該示例用於在Wikipedia上的正式語法中表示運算符優先級。

它以以下語法為例:

expression ::= equality-expression
equality-expression ::= additive-expression ( ( '==' | '!=' ) additive-expression ) *
additive-expression ::= multiplicative-expression ( ( '+' | '-' ) multiplicative-expression ) *
multiplicative-expression ::= primary ( ( '*' | '/' ) primary ) *
primary ::= '(' expression ')' | NUMBER | VARIABLE | '-' primary

我不明白最后一次制作結束時'-' primary的目的是什么。 誰能解釋為什么以這種方式構造它?

它是一元負號,與乘法運算符的綁定更緊密:

-a * 7

(並不是在那種情況下有很大的區別。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM