Какова разница между интерпретатором и виртуальной машиной в шаблонах проектирования ООП, особенно в контексте игрового программирования?Интерпретатор против виртуальной машины
http://www.oodesign.com/interpreter-pattern.html идентифицирует шаблон интерпретатора в качестве своего рода отображения:
Карты домен на язык, язык для грамматики и грамматики к иерархическому объектно-ориентированному проектированию
С другой стороны, виртуальная машина должна быть ... что именно?
Я предполагаю, что это должна быть какая-то коллекция объектов для выполнения расчетов по Тьюрингу. Каково его использование, помимо получения наименее общего знаменателя для аппаратной совместимости (самым большим примером является платформа Java)?
Можете ли вы представить прецедент для виртуальной машины без необходимости переноса приложения на другую платформу (и для игр)? Предполагает ли VM, что существует явный абстрактный язык, и интерпретатор его командует?