【问题标题】:Meaning of => in EBNF notationEBNF 符号中 => 的含义
【发布时间】:2017-04-05 20:08:43
【问题描述】:

在 EBNF 表示法中,我看到很多 =>,但找不到描述。我用谷歌搜索并阅读了一些 PDF 和 Wikipedia,但仍然没有任何线索。

assignmentExpression:
    (leftHandSideExpression assignmentOperator) =>
    leftHandSideExpression assignmentOperator assignmentExpression
    | conditionalExpression
    ;

【问题讨论】:

  • 什么是使用这种 EBNF 表示法?这可能会有所帮助。我很惊讶没有描述如何在使用它的任何情况下使用这个符号,因为有许多不同的 EBNF 变体在使用中。有些人甚至自己编造,比如各种编程语言(例如 Python)的作者,维护 XML 定义的 W3C,以及 IETF 有自己的变体,名为 ABNF,更不用说国际标准 ISO/IEC 14977,我很少见到使用。我不熟悉您问题中的符号;它很可能是另一种 EBNF 符号。

标签: ebnf


【解决方案1】:

我的猜测是,它是对解析器的提示或指令(可能是递归下降)。例如,如果您尝试解析 assignmentExpression,并且您可以将待处理输入的前缀解析为 leftHandSideExpression assignmentOperator,然后提交解析 leftHandSideExpression assignmentOperator assignmentExpression 替代 assignmentExpression

【讨论】:

  • 同意。也许一个例子可以改善您的答案:x = $; 应该生成一个语法错误,指出在预期赋值表达式的位置找到了 $。如果没有提示,语法错误可能会抱怨 =
猜你喜欢
  • 1970-01-01
  • 2021-03-14
  • 2013-07-18
  • 2016-10-25
  • 2012-06-12
  • 2017-01-02
  • 1970-01-01
  • 2016-07-20
  • 1970-01-01
相关资源
最近更新 更多