解释型语言在运行时使用符号 table 吗?
Do interpreted languages use a symbol table at runtime?
我知道符号 table 仅在编译时用于静态类型语言的语义分析,但它们如何用于执行字节码的解释语言?符号 table 是否曾在运行时用于解释语言,例如 Python 或 JavaScript?
嗯,标识符必须映射到存储变量的地方。如果它不存在,则会创建一个条目。至少简单的解释器是这样工作的。
您可以称其为符号 table,但它是动态的,是解释的副产品之一,而不是编译过程。
像你这样的更复杂的脚本语言必须将其与垃圾收集集成。
我知道符号 table 仅在编译时用于静态类型语言的语义分析,但它们如何用于执行字节码的解释语言?符号 table 是否曾在运行时用于解释语言,例如 Python 或 JavaScript?
嗯,标识符必须映射到存储变量的地方。如果它不存在,则会创建一个条目。至少简单的解释器是这样工作的。
您可以称其为符号 table,但它是动态的,是解释的副产品之一,而不是编译过程。
像你这样的更复杂的脚本语言必须将其与垃圾收集集成。