解释器如何解析函数调用或分支(跳转)语句?

时间:2017-03-18 13:09:57

标签: interpreter

我知道这个问题看起来有点宽泛。我试着寻找答案,找不到多少。如果有人能描述或指出我正确的来源。

1 个答案:

答案 0 :(得分:0)

假设一个基于字节码的解释器,通常的方法如下:

你有一个变量,即程序计数器,它告诉你要执行的指令的索引。通常,您将该计数器增加1,但在执行分支时,您可以将其设置为跳转的目标位置。

对于函数调用,您可以执行相同的操作,但也可以将计数器的旧值加上一个调用到调用堆栈。然后,当您执行返回指令时,弹出堆栈的值并将计数器设置为该值。