首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为多个值类型的解析器创建简单的符号表

为多个值类型的解析器创建简单的符号表
EN

Stack Overflow用户
提问于 2019-06-19 01:02:13
回答 1查看 0关注 0票数 0

我想知道为解析器创建符号表的正确方法是什么(我使用的是Bison),它支持多种值类型(字符串,布尔值,数字)。例如,如果我有这样的事情var a = [1, 2, 3]还是var b = 2,我希望能够来存储这些值,以便他们可以稍后访问,例如,如果我有这样的事情var c = 2 + b

到目前为止,我一直在使用a map<string, string>并将所有内容转换为字符串。所以如果我有var a = 2,我会把它存储为“a”:“2”。这是超级hacky,毫无疑问是错误的方法,所以我想知道这应该做的正确方法是什么。

还在思考,你如何处理范围?例如,如果您有一个定义变量的函数,那么它们只能在该函数内访问,而不能在外部访问。我不知道如何实现这部分。当我进入一个区块然后在我退出时将它们删除时,我想也许可以在堆栈中添加变量,但同样,这听起来真的很糟糕。

EN

回答 1

Stack Overflow用户

发布于 2019-06-19 10:11:04

所以我做了更多挖掘,似乎我应该保留类型检查,语义分析的变量声明检查。如果我没有弄错的话,解析器的目的只是验证代码的结构,而不是检查代码是否“有意义”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档