В чем именно разница между байт-кодом и деревом синтаксического анализа, особенно тем, которое используется в Perl? Действительно ли они относятся к одному и тому же понятию или есть различие?
Я знаком с концепцией байт-кода из Python и Java, но, читая о Perl, я узнал, что он предположительно выполняет дерево синтаксического анализа (вместо байт-кода )в своем интерпретаторе.
Если различие действительно существует, то по каким причинам Perl не использует байт-код (или Python не использует деревья синтаксического анализа )? Является ли это в основном историческим, или существуют различия между языками, которые требуют другой модели компиляции/выполнения? Можно ли реализовать Perl (с разумными усилиями и производительностью )с помощью интерпретатора байт-кода?