如何翻译成antlr4语法ObjectLiteral[Yield]?
How to translate to antlr4 grammar ObjectLiteral[Yield]?
我正在尝试翻译来自:
的 es6 语法
- https://tc39.github.io/ecma262/#sec-ecmascript-language-lexical-grammar
- 和https://gist.github.com/rbuckton/0d8c1f1c607f52f5ae37
我的问题是很多声明都包含这样的内容:
ObjectLiteral[Yield] :
{ }
{ PropertyDefinitionList[?Yield] }
{ PropertyDefinitionList[?Yield] , }
我想知道前面几行有没有翻译成antlr4的。
一种方法是遵循规范 Grammar Notation 部分中的定义。也就是说,左侧有一个参数的产生式是两个无参数产生式的缩写,一个代表每个可能的 'setting' 参数。
例如,
ObjectLiteral[Yield] :
{ }
{ PropertyDefinitionList[?Yield] }
{ PropertyDefinitionList[?Yield] , }
是两个作品的缩写:
ObjectLiteral :
{ }
{ PropertyDefinitionList }
{ PropertyDefinitionList , }
和
ObjectLiteral_Yield :
{ }
{ PropertyDefinitionList_Yield }
{ PropertyDefinitionList_Yield , }
我正在尝试翻译来自:
的 es6 语法- https://tc39.github.io/ecma262/#sec-ecmascript-language-lexical-grammar
- 和https://gist.github.com/rbuckton/0d8c1f1c607f52f5ae37
我的问题是很多声明都包含这样的内容:
ObjectLiteral[Yield] :
{ }
{ PropertyDefinitionList[?Yield] }
{ PropertyDefinitionList[?Yield] , }
我想知道前面几行有没有翻译成antlr4的。
一种方法是遵循规范 Grammar Notation 部分中的定义。也就是说,左侧有一个参数的产生式是两个无参数产生式的缩写,一个代表每个可能的 'setting' 参数。
例如,
ObjectLiteral[Yield] :
{ }
{ PropertyDefinitionList[?Yield] }
{ PropertyDefinitionList[?Yield] , }
是两个作品的缩写:
ObjectLiteral :
{ }
{ PropertyDefinitionList }
{ PropertyDefinitionList , }
和
ObjectLiteral_Yield :
{ }
{ PropertyDefinitionList_Yield }
{ PropertyDefinitionList_Yield , }