首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移位归约解析器如何知道何时进行归约?

移位归约解析器如何知道何时进行归约?
EN

Stack Overflow用户
提问于 2021-03-28 19:00:08
回答 1查看 45关注 0票数 0

我正在用c#编写一个移位归约解析器。我看了一些解释它的文章,但没有一篇涉及太多细节。谁能告诉我shift reduce解析器的详细解释,比如它是如何知道何时进行reduce的?

EN

回答 1

Stack Overflow用户

发布于 2021-03-29 02:13:54

解析器是一个状态机。每个状态都有一个动作表,它将下一个输入符号("token")映射到一个动作(shift、reduce a production、error或accept)。对于移位动作,有一个将输入符号映射到下一个状态的转换表。这两个表通常是组合在一起的,因为操作表条目中有一个状态编号的空间。

由于可能的令牌数量相对较少,因此令牌通常表示为小整数,而动作表是由当前状态和输入令牌索引的二维数组。如果需要考虑空间问题,则可以压缩表。

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

https://stackoverflow.com/questions/66840705

复制
相关文章

相似问题

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