expr ::= expr MINUS expr.
expr ::= MINUS expr.
我需要為 2 個 MINUS 標記設定不同的關聯性。但我不能兩次為 MINUS 設定關聯性。
%left PLUS MINUS. // -
%right NOT MINUS. // ! - // error!
uj5u.com熱心網友回復:
檸檬檔案中對此進行了回答,該檔案提供了該特定要求的示例:
語法規則的優先級等于定義了優先級的規則中最左邊的終端符號的優先級。這通常是您想要的,但是在您希望語法規則的優先級有所不同的情況下,您可以通過將符號放在方括號中來指定替代優先級符號,該符號位于規則末尾的句點之后和之前任何 C 代碼。例如:
expr = MINUS expr. [NOT]此規則的優先級等于
NOT符號的優先級,而不是MINUS默認情況下的符號。
上面的示例假設您有一個令牌NOT,您已在優先級串列中以正確的順序放置該令牌。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/525831.html
標籤:解析柠檬
