gpt4 book ai didi

javascript - NullLiteral 如何以树形式表示?

转载 作者:行者123 更新时间:2023-11-29 22:40:06 24 4
gpt4 key购买 nike

根据ECMAScript specification7.8.1 节中,一个 NullLiteral 定义如下:

NullLiteral ::     null

我想了解的是,当 NullLiteral 包含在 7.6.1 节中的以下作品中时,它是如何以树形式表示的7.8.

ReservedWord ::     Keyword     FutureReservedWord     NullLiteral     BooleanLiteral Literal ::     NullLiteral     BooleanLiteral     NumericLiteral     StringLiteral 

我对它的外观的最佳猜测是:

InputElementDiv    |  Token    |IdentifierName    |ReservedWord     | Literal     |NullLiteral     |   null

不过这对我来说似乎不对。

注意

根据我的研究,似乎很少有编译器真正从语言语法生成 CST。我当然可以理解为什么,但这对我来说是一个学习练习,所以我想在我转向更专业的解析方法(例如使用解析器生成器)之前把它做好。

最佳答案

如图所示的树不在语法范围内,因为它不提供从 IdentifierNameReservedWord 的派生,也不提供派生 ReservedWordLiteral

ReservedWord 产生式实际上仅用于限制IdentifierName 的有效值,这应该在词法层面上看到。它不会进入 CST,在那里您只会看到 IdentifierName

Literal 的上下文是 PrimaryExpression,因此真实 CST 的片段可能如下所示:

   ...
|
PrimaryExpression
|
Literal
|
NullLiteral
|
null

关于javascript - NullLiteral 如何以树形式表示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3247785/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com