Исследовательское сообщество решило, что обмен графиками - это то, что нужно делать при перемещении информации из одного инструмента анализа программ в другой.
Смотри http://www.gupro.de/GXL
Совсем недавно OMG определила стандарт для обмена абстрактными синтаксическими деревьями.
Смотри http://www.omg.org/spec/ASTM/1.0/Beta1/
Эта проблема, кажется, решается снова и снова.
Есть полдюжины предложений по «инструментальной шине», сделанных за эти годы
это все решило, и никто не догонял индустрию.
Проблема в том, что а) легко представлять АСТ, используя
любой вид вложенных обозначений [круглые скобки, такие как LISP,
как XML, ...] чтобы люди могли легко найти собственное решение,
и б) для одного инструмента для обмена АСТ с другим, они
оба должны по существу согласиться с тем, что означают узлы AST;
но большинство АСТ довольно случайно получены из конкретного
грамматика / технология синтаксического анализа, используемая каждым инструментом, и есть
почти всегда разногласия по этому поводу между инструментами.
Итак, я видел очень мало инструментов, которые обмениваются AST значимым образом.
Если вы занимаетесь хобби, я бы придерживался словно шутки
кодирование деревьев, где каждый узел имеет следующий формат:
(...)
Его легко генерировать и легко читать.
Я работаю над профессиональным инструментом для управления программами . Если мы
распечатать AST, мы делаем выше. В основном индивидуальный
AST слишком сложны для практического применения,
таким образом, мы почти никогда не распечатываем весь AST, в лучшем случае только
узел и несколько детей глубоко. Наш инструмент не обменивается
АСТ с кем-либо (см. Выше причины :), но делает только
прекрасно встраивая его в память, делая с ним невероятные вещи
по причинам анализа или трансформации, а затем
либо просто удалив его (не нужно никуда отправлять)
или восстановление исходного языка текста из дерева.
[Последнее означает, что вам нужен антиразбор или "prettyprinting"
технология]