Необходимо собрать необходимую информацию о модуле перевода, используя плагин для GCC, и модифицировать AST на его основе. Я уже понял, как собирать информацию. Но я пока не понимаю, как модифицировать AST, прежде чем он перейдет в CRT. По этому вопросу доступно очень мало информации. Скажите, пожалуйста, что я должен прочитать на эту тему? Поделитесь мыслями, ссылками.
Спасибо-х.
P.S. Я уже прочитал все по этим ссылкам:
http://en.wikibooks.org/wiki/GNU_C_Compiler_Internals/Print_version http://developer.apple.com/library/mac/#documentation/DeveloperTools/gcc-4.2.1/gccint/index.html#Top
Набор тестов GCC содержит основные примеры таких модификаций. См. http://gcc.gnu.org/viewcvs/gcc/trunk/gcc/testsuite/gcc.dg/plugin/finish_unit_plugin.c и start_unit_plugin.c показывает, как создать переменную. К сожалению, для более серьезных изменений исходный код GCC, вероятно, является лучшим выбором.
Вы привязаны к GCC для этого усилия?Компилятор ROSE создан специально для выполнения модификации на уровне исходного кода, а затем передачи полученного кода бэкэнд-компилятору.