"технически легко" создать XML для любого отдельного языка: создать синтаксический анализатор, построить дерево абстрактного синтаксиса и вывести это дерево в виде XML. (Я создаю инструменты, которые делают это готовыми для многих языков). Технически легко я имею в виду, что сообщество знает, как это сделать (см. Любой учебник по компилятору, например, книгу Aho & Ullman Dragon). Я не имею в виду, что это тривиальное упражнение с точки зрения усилий, потому что настоящие языки сложны и грязны; было много попыток построить синтаксические анализаторы C ++ и мало успехов. (У меня есть один из успехов, и это было дорого, чтобы получить право).
Что действительно сложно (и я не пытаюсь это сделать), так это создавать XML в соответствии с единой схемой, в которой представлена семантика языка. А без этого практически невозможно написать переводчик из универсального XML на произвольный целевой язык. Это известно как проблема UNCOL , и с 1958 года люди ищут ответ. Я отмечаю, что статья в Википедии, кажется, указывает на то, что проблема решена, но вы не можете найти много ссылок на UNCOL в литературе с 1961 года.
Самая близкая попытка, которую я видел, - это модель OMG "ASTM" (http://www.omg.org/spec/ASTM/1.0/Beta1/);, она экспортирует XMI, который является XML. Но модель ASTM имеет много встроенных экранирований, позволяющих использовать языковые стандарты не следует идеально моделировать (AFAIK, что означает каждый язык) произвольное расширение XMI, чтобы можно было закодировать информацию, зависящую от языка. Следовательно, каждый анализатор языка создает собственную версию XMI и, таким образом, каждый читатель должен знать о расширениях, и полная общность исчезает.