Я хочу знать, каковы стратегии создания переводчика источник-источник, т. Е. Перевод с одного языка высокого уровня на другой. Два способа, которые приходят мне в голову:
1- Изменение синтаксического дерева одного языка на другое синтаксическое дерево
2- Изменение его на промежуточный язык и затем преобразование его в другой язык высокого уровня
Мой вопрос заключается в том, можно ли выполнить преобразование, используя обе стратегии, и что более целесообразно сделать, может ли кто-нибудь дать ссылку на любую теорию или реализацию, выполненную каким-либо преобразователем, как любой из вышеуказанных методов. И существует ли какой-либо стандартный промежуточный язык на основе xml, я знаю, что xmlvm использует xml в качестве промежуточного языка, но он не обеспечивает надлежащей спецификации промежуточного языка.