【发布时间】:2014-11-13 12:03:26
【问题描述】:
我目前使用 JavaCC 实现 JavaScript/ECMAScript 5.1 解析器,但 ArrayLiteral 生产存在问题。
ArrayLiteral :
[ Elision_opt ]
[ ElementList ]
[ ElementList , Elision_opt ]
ElementList :
Elision_opt AssignmentExpression
ElementList , Elision_opt AssignmentExpression
Elision :
,
Elision ,
我有三个问题,我会一一问。
我试图简化/重写上面描述的ArrayLiteral 产生式,最终得到以下产生式(伪语法):
ArrayLiteral:
"[" ("," | AssignmentExpression ",") * AssignmentExpression ? "]"
我的第一个问题:这种重写是否正确?
另外两个问题:
【问题讨论】:
标签: javascript parsing grammar ecmascript-5 javacc