标签: interpreter
我知道这个问题看起来有点宽泛。我试着寻找答案,找不到多少。如果有人能描述或指出我正确的来源。
答案 0 :(得分:0)
假设一个基于字节码的解释器,通常的方法如下:
你有一个变量,即程序计数器,它告诉你要执行的指令的索引。通常,您将该计数器增加1,但在执行分支时,您可以将其设置为跳转的目标位置。
对于函数调用,您可以执行相同的操作,但也可以将计数器的旧值加上一个调用到调用堆栈。然后,当您执行返回指令时,弹出堆栈的值并将计数器设置为该值。