在EBNF表示法中,我看到很多=>
,但找不到說明。我搜索了一些PDF和維基百科,但仍然沒有線索。EBNF表示法中=>的含義
assignmentExpression:
(leftHandSideExpression assignmentOperator) =>
leftHandSideExpression assignmentOperator assignmentExpression
| conditionalExpression
;
在EBNF表示法中,我看到很多=>
,但找不到說明。我搜索了一些PDF和維基百科,但仍然沒有線索。EBNF表示法中=>的含義
assignmentExpression:
(leftHandSideExpression assignmentOperator) =>
leftHandSideExpression assignmentOperator assignmentExpression
| conditionalExpression
;
我的猜測是,它是解析器的提示或指令(可能是遞歸下降)。例如,如果您試圖解析assignmentExpression
,並且您可以將未定義輸入的前綴解析爲leftHandSideExpression assignmentOperator
,然後承諾解析assignmentExpression
的替代leftHandSideExpression assignmentOperator assignmentExpression
。
同意。也許一個例子可以改善你的答案:'x = $;'應該會產生一個語法錯誤,說'$'是在預期賦值表達式的地方。沒有提示,語法錯誤可能會抱怨'='而不是。 – hvd
什麼是使用這種EBNF符號?這可能有幫助。我很驚訝沒有描述如何使用這種符號,因爲在使用中有許多不同的EBNF變體。有些人甚至可以自己編寫自己的代碼,比如各種編程語言(例如Python)的作者,維護XML定義的W3C,而IETF也有自己的變體名ABNF,不必介意國際標準ISO/IEC 14977,我很少見過使用。你的問題中的符號對我來說是陌生的;這很可能是另一個EBNF表示法。 –