问题标签 [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.
c++ - 什么是符号表?
有人可以在 C 和 C++ 的上下文中描述什么是符号表吗?
perl - 对象如何访问当前包的符号表?
如何访问实例化对象的当前包的符号表?例如,我有这样的事情:
如果在do_your_job
我使用的实现中__PACKAGE__
,它将在MyModule
包中搜索。我怎样才能让它看起来在正确的包装中?
编辑:我会尽量让这个更清楚。假设我有以下代码:
现在,$x
应该以某种方式注意到这main
是当前包,并搜索它的符号表。我尝试使用Scalar::Util
's'blessed,但它仍然给了我MyModule
而不是main
。希望这现在更清楚了。
perl - 如何在 Perl 中访问名称包含在变量中的常量?
我在 Perl 中声明了一组常量:
如何构造一个 Perl 表达式,该表达式基于$which_constant
导出以该变量的值命名的常量的值 - 例如“222”。
请注意,我无法更改上述任何条件 - 它们是对真实场景的简化:我有一个模块(我无法控制),这些常量是从中导入的。常量之一的名称由用户从命令行提供。我需要访问适当的常量值。
我一直在用头撞墙(主要是围绕各种奇怪的 glob 构造),但它们都不起作用。
PS如果解决方案访问其本机模块内的常量 - 比如说My::Constants::C2
(无需导入它们),更好,但不是必需的 - 我可以将正确的常量导入main::
轻松使用My::Constants->import($which_constant)
. 是的,最重要的是,默认情况下不会导出 te 常量,因此需要显式的 import() 调用。
我尝试过的一些事情:
main::$which_constant
- 语法错误main::${which_constant}
- 语法错误${*$which_constant}
- 返回空值*$which_constant
- 返回“*main::C2”${*${*which_constant}}
- 空的
php - 我们可以在不使用zend api的情况下在php中实现php提取功能吗
php 的提取函数将变量添加到调用函数的本地范围。我们如何编写自己的 php 函数 extract 来做同样的事情?
c++ - 链接静态 C++ 库时,Objective-C 中的符号表损坏
我有一个用 c++ 编写的名为 options 的类,这是标题信息:
};
在objective-c部分,我像这样初始化选项:
现在发生的情况是,如果我将指针传递给另一个 C++ 方法,它工作正常,但如果我实际上尝试访问目标 c 端的任何内容,例如
opts->bits 或 opts->getBits()
它总是返回整数值打印
看起来符号表在 Objective-c 和 C++ 端之间被弄乱了,但我不知道我能做些什么来导致这种情况。
如果我为 mac 编译,代码甚至可以使用 Objective-C++,只要 C++ 调用 C++,它似乎就可以工作,所以它不像内存被损坏,它只是看起来像一个符号表问题。
任何见解将不胜感激。
perl - 符号表:删除条目
为什么我在删除相应的符号表条目后从“$n”和“$m”中获取值?
c - 编译器的符号表和语义分析
我正在为类似 C 的语言(一种更简单的语言)构建编译器(不使用任何工具,如 lex 或 bison),并且已经通过了词法分析器和解析器。我不确定我做解析器的方式是否正确。因为,到目前为止,要进行解析,即检查语法是否正确,我根本没有使用过链表。基本上,我的解析器看起来像这样:假设语法是 -
我的程序如下所示:
我基本上有所有非终端的功能,并在适当的时候调用它们,我正在通过“strcmp”检查关键字。这种方法好吗?
从这一点来看,如何进行语义分析呢?我应该从哪里开始构建符号表?
任何建议或思考的指针都很棒!非常感谢
c - 用于 sql 解析器的 Makefile... 编写依赖项
我在 lex 和 yacc 中实现了一个 sql 解析器,因为我使用了一个符号表,它保存在一个单独的 .h 文件 (sql.h) 中,并且在这个头文件中我有一些函数声明。这些函数的定义保存在 .c 文件 (sql.c) 中。现在我在 sql.c 中包含了 sql.h,我在 lex 文件 (1.l) 和 yacc 文件 (1.y) 中都引用了 sql.h 中的符号和函数。
问题是我无法为此编写适当的makefile。我收到诸如多个声明之类的错误。我在哪里包含哪个文件以及如何编写依赖项?请帮忙。我一直在寻找解决方案,但我没有得到它......
更新:
我像这样编译代码:
在 gcc 的第三个命令之后出现以下错误:
sql.h:
sql.c:
以及在 sql.h 中声明的函数的定义
1.l 文件:
..... 和其他 lex 文件
1.y
.... 和其他 yacc 文件数据
你能建议我用其他方法来解决这个问题吗?
objective-c - GDB Objective-c 调试(无符号表)
我有一个可执行文件,我正在使用 gdb 对其进行调试。这是我第一次使用 gdb,请多多包涵。
我想在一个函数上设置一个断点,并且我知道使用类转储的函数的名称。现在它不允许我向该函数添加断点,因为它说没有符号表。我尝试添加符号表,但它仍然抱怨没有加载符号表。
那么,无论如何我可以在这种方法上设置断点吗?这是一种客观的 c 方法,而不是 c (如果这有所作为)。我需要做的就是检查这个方法的论点。
oop - 面向对象语言的编译器中的符号表范围
我正在为 C++ 子集的编译器构建符号表。
我的问题是如何处理对象中的范围。我的意思是,在像 Pascal 这样的普通语言中,我们应该为每个作用域创建一个符号表。但是对于 C++,我应该考虑另一种方法来处理对象的方法和属性吗?
问候。