问题标签 [symbol-table]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
10158 浏览

c - C中的符号表

我目前正在开发一种执行模式匹配的静态分析工具。我正在使用Flex生成词法分析器,并编写代码来管理符号表。我对C不是很有经验,所以我决定将符号表实现为线性链表。

但是,当我使用add_entry()添加符号,然后尝试使用 查找它们时find_entry()find_entry()返回 null。有人可以帮忙吗?

0 投票
1 回答
2052 浏览

java - 在java中按值对符号表进行排序

符号表给出按键排序的结果,但我们如何按值对符号表进行排序。我使用Arrays.sort(st,st.get(key))但给了我一个错误:

找不到符号:方法排序(ST,java.lang.Integer)


我的程序看起来像这样。仍然收到错误:

0 投票
2 回答
9664 浏览

dynamic - 如何解释 ELF 可执行文件中的动态符号表?

我正在研究解释.dynsymELF 可执行文件的动态符号表 ()。我可以成功地解释符号表.symtab(每个符号 16 个字节),使用value属性表示符号的地址,使用属性name表示节中字符串开头的偏移量.strtab。但我无法.dynsym使用相同的方法解释动态符号表 ()。我参考了阿里的博客[1]。

我查看了 Ali 的 [2] 的另一个博客,但我不明白如何使用哈希表解释动态符号表。显然,它与符号表使用的映射不同。我应该如何解释动态符号表(.dynsym)?

此外,我正在查看的 ELF 可执行文件有两个部分,即.hash.gnu.hash. 我应该参考哪个部分的哈希值?

[1] http://blogs.oracle.com/ali/entry/inside_elf_symbol_tables
[2] http://blogs.oracle.com/ali/entry/gnu_hash_elf_sections

0 投票
1 回答
521 浏览

elf - ELF 中的库符号和用户符号

我的问题与 ELF 中的符号有关。正如我们所知,ELF 的符号表包含定位和重定位程序的符号定义和引用所需的信息。

我的问题是我们能否区分 b/wa 库符号和用户定义的符号(如果两者都是全局的)?考虑没有源代码可用并且您只有 ELF 的场景。

0 投票
1 回答
8183 浏览

java - 如何制作符号表

我们有一个任务来制作编译器。我们已经进行了词法和语法分析,但是我们停留在中间代码的生成上。我们意识到我们必须实现一个符号表才能进行中间代码生成,我们不知道如何去做以及它包含什么。

给定下面的代码,符号表应该包含什么?(代码是用一种教育语言编写的,如下所述)

另外,我们如何在符号表中实现范围?

0 投票
3 回答
706 浏览

ruby - Ruby中的符号表设计与实现

我正在用 Ruby 构建一个词法分析器,并且即将开始在符号表中收集和存储符号。我的主要问题是关于符号的设计以及它是否应该是静态表(意味着所有数据都将保存在类级别)或者它是否应该基于实例。

选项 1:类级数据结构

使用这种方案,SymbolTable 类具有某种“静态”功能,这意味着我实际上并没有创建 SymbolTable 的实例,唯一存在的对象是类级别的对象。

(假设这SymbolTableEntry是一个有效的对象,即使我没有在这里定义它)

前任:

选项 2:实例级数据结构

使用这种方案,我实际上需要实例化 SymbolTable 类的实例,以便将值添加到符号表中。

我很想听听关于您将使用或更喜欢使用哪种设计的任何和所有意见,以及对 ruby​​ 代码的一般评论。

谢谢

0 投票
4 回答
21624 浏览

python - Python中的符号表

我们如何查看 python 源代码的符号表?

我的意思是,Python 在实际运行之前为每个程序制作了一个符号表。所以我的问题是如何将该符号表作为输出?

0 投票
2 回答
2880 浏览

c - 解析后的符号表填充;编译器构建

创建解析树后,我现在必须填充符号表。

我必须存储信息,例如

标识符的类型、范围、偏移量等。

现在我怎么知道标识符的类型和范围,因为我只知道该特定 ID 的词位值和行号(在词法分析之后)。

我怎么知道整件事。谢谢。

0 投票
1 回答
303 浏览

ruby-on-rails - RuntimeError(符号表溢出(符号_one_time_conditions。))

我的网络应用程序现在因这个错误而崩溃:

RuntimeError(符号表溢出(符号_one_time_conditions ...)):app/controllers/application_controller.rb:3

从启动开始大约 1 天后会出现该错误,并在重新启动 Web 应用程序后恢复正常。

任何人都可以帮助提供解决方案吗?

版本如下:

ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-linux], MBARI 0x8770, Ruby Enterprise Edition 2011.03 Rails 3.0.7

0 投票
1 回答
1468 浏览

c - C中的get_symbol函数

我正在构建一个符号表,并且很难编写 get_symbol,它具有 (symbol_table symtab, char sym) 的参数。我必须为 2 个函数 get_symbol 和 set_symbol 编写代码,我在理解什么是符号表以及如何写出这两个函数时遇到了一些麻烦。它说 get_symbol() 有两个参数:符号表和应检索其值的符号名称。如果符号名称是 A、B、C 之一,则应返回符号表中的相应值。如果它不是这些名称之一,则应返回 0。如果有人可以提供帮助,那将非常感谢您的宝贵时间。

symbol_table.c 代码: