One approach to speeding up an interpreter is to translate pieces of the code being interpreted directly into machine code during program execution, this is called ANSWER.
just-in-time compilation
The technical term for the compiler design methodology where the translation closely follows the syntax of the language is ANSWER.
syntax-directed translation
Using the straightfoward expression translation scheme in the ICD 2nd edition textbook, if I were to TransExp(‘3 * x + 1’, vtable, ftable), newvar() will be invoked ANSWER times.
5
Using the straightfoward statement translation scheme in the ICD textbook, if I were to TransStat(‘if true then z := 1 else z := 2’, vtable, ftable), newlabel() will be invoked ANSWER times.
3
Using the straightfoward statement translation scheme in the ICD textbook, if I were to TransStat(‘while true do z := 1 + z’, vtable, ftable), newlabel() will be invoked ANSWER times.
3
Using the straightfoward statement translation scheme in the ICD textbook, if I were to TransStat(‘while z < 3 do z := 1 + z’, vtable, ftable), newvar() will be invoked ANSWER times.
5