【发布时间】:2014-11-18 21:56:23
【问题描述】:
参考您的“语言实现模式”一书的第 6 章;存储和检索每个符号的值的最佳实践/模式是什么。
每个符号都有名称、类型和范围。然而;您将实际值存储在哪里?
即“整数”类型的符号“n”的值为 42。
【问题讨论】:
-
有点混乱,但也许你是把编译时符号表和实际运行时环境混在一起了?
参考您的“语言实现模式”一书的第 6 章;存储和检索每个符号的值的最佳实践/模式是什么。
每个符号都有名称、类型和范围。然而;您将实际值存储在哪里?
即“整数”类型的符号“n”的值为 42。
【问题讨论】:
符号包含什么以及它如何包含该信息完全由您选择。在无类型语言中,符号可能只是具有术语名称和值属性的对象。对于打字,添加类型和种类属性。
或者符号对象可以只包含名称和引用属性,其中 ref 指向一个包含附加属性的单独表,包括可能指向堆、不可变池或实际存储文字值的堆栈的引用。
This answer 提供了一个范围、名称和值符号表的示例。
【讨论】: