javascript - 当解析树只有一条语句时如何评估产生式 `SourceElements : SourceElements SourceElement`

标签 javascript specifications ecmascript-5

关于 EcmaScript 规范 5.1,具体来说,SourceElements 产生式的语义解释是:

SourceElements : SourceElements SourceElement

(第 14.0 条)

上述产生式的语义解释让我感到困惑。

假设您有两个语句(称为 s1s2),那么根据上述子句给出的语义解释,我将设置 的结果>s1headResult。如果不是突然完成,我会将 s2 的结果设置为 tailResult。我要么使用 tailResult 的值或 headResult 的值返回结果。

我的问题是,如果只有一个语句,我该怎么办?

我只返回s1的结果吗?我是否检查它是否突然完成?我该如何处理该值?

我想我不知道如何将左递归转换为只有一条语句的情况。

最佳答案

SourceElements 有两种产生式:

SourceElements:
    SourceElement
    SourceElements SourceElement

当程序中只有一条语句时,它与第一个产生式匹配。当有多个语句时,它匹配第二个产生式,并递归。

关于javascript - 当解析树只有一条语句时如何评估产生式 `SourceElements : SourceElements SourceElement`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20623825/

相关文章:

javascript - 尝试让 webGL (2d) 绘图工作。看不到我的三 Angular 形

javascript - 与 ID 项建立链接

java - 为什么 Java 生态系统在其整个软件堆栈中使用不同的字符编码?

javascript - 使用 JS/Rails 和下拉表单更新 URL 查询字符串

python - 如何解释这两个未压缩的 zlib 样本?

specifications - 是什么让一个伟大的功能规范伟大?

javascript - 如何从 JavaScript 对象中删除属性?

javascript - 如何从对象输出中删除函数?

javascript - splat over JavaScript 对象(用 new )?

javascript - 使用 div 滑动文本