gpt4 book ai didi

c - 抽象语法树问题

转载 作者:太空狗 更新时间:2023-10-29 15:17:12 24 4
gpt4 key购买 nike

我目前正在 C 下的编译器上工作,我对我们为 AST 构建数据结构的部分感到迷茫,特别是对于我们为 ID 构建结构的部分,它被称为“符号表条目”

我在网络上看到的结构如下:

struct ste {
struct id *name; /* pointer into hash table for assoc. id */
struct decl *decl; /* pointer into symbol table for its decl */
struct ste *prev; /* pointer to previous entry in symbol table */
};

它看起来像一个链表,因为它包含指向前一个条目 (*prev) 的指针,但这背后的逻辑是什么?

最佳答案

您的具体问题的答案是:prev 链接意味着,当您的代码具有指向这些节点之一的指针时,它可以跟随指向链中上一个链接的链接。符号表可能有这样一个列表的原因之一是处理嵌套范围:

{
int x;
{
int x;
}
}

但是,符号节点可能想要排列在列表中的原因有很多很多。编译器需要访问所有节点的任何原因都是一个原因。

关于c - 抽象语法树问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1962315/

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