gpt4 book ai didi

interpreter - 在 ast-walking 解释器中实现跳转语句

转载 作者:行者123 更新时间:2023-12-02 14:38:25 27 4
gpt4 key购买 nike

在 ast-walking 解释器中,代码是逐个节点执行的。如何实现 goto、break 或 continue 等功能?我停止当前执行并跳转到另一个节点?有没有最佳实践?

最佳答案

最佳实践是“不要为带有 goto 的语言解释 AST”。

从根本上来说,如果语言主要处理标量,则树遍历中的任何类型的不连续性都会导致严重的速度减慢。 (如果您的语言主要处理复杂值,例如数组语言 APL,则没关系)。

您所能期望的最好的结果是预先遍历树并确定 goto 在 AST 中的实际位置,并将其记录在旁边的关联缓存中。然后,当您遇到 goto 时,只需查阅缓存而不是搜索树。

但这只是编译之路上的第一步,例如,在执行之前预先计算你能做的事情。

关于interpreter - 在 ast-walking 解释器中实现跳转语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13966935/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com