Я смотрю на некоторый код C ++, и он включает в себя машину стека для сценариев. Я изучил C ++ несколько лет назад, но никогда не использовал его в своей повседневной работе, поэтому у меня нет никакой реальной идеи, является ли это обычной практикой, или это используется только при определенных весьма специфических обстоятельствах?
Если вам нужно оценить такие выражения, как 2 + 3 * 7
или же x = a + b / sin(c)
тогда подход, ориентированный на стек, будет работать достаточно хорошо.
Я бы не сказал, что это слишком часто. Я знаю, что Emacs строится вокруг интерпретатора lisp, который, в свою очередь, обычно реализуется как стековая машина, я не уверен, что знаю что-либо, что использует этот подход. Но это не значит, что в НЕКОТОРЫХ областях это не является общеупотребительным.
Глядя / размышляя об этом, я также думаю, что Java VM по сути является машиной стека, как и PostScript (и, соответственно, интерпретаторы PDF, поскольку концепция основана на упрощенном формате PostScript).
Других решений пока нет …