Модификация AST-дерева компилятора GCC - PullRequest
2 голосов
/ 06 августа 2011

Необходимо собрать необходимую информацию о модуле перевода, используя плагин для 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

Ответы [ 2 ]

1 голос
/ 23 сентября 2011

Набор тестов GCC содержит основные примеры таких модификаций. См. http://gcc.gnu.org/viewcvs/gcc/trunk/gcc/testsuite/gcc.dg/plugin/finish_unit_plugin.c и start_unit_plugin.c показывает, как создать переменную. К сожалению, для более серьезных изменений исходный код GCC, вероятно, является лучшим выбором.

0 голосов
/ 06 августа 2011

Вы привязаны к GCC для этого усилия?Компилятор ROSE создан специально для выполнения модификации на уровне исходного кода, а затем передачи полученного кода бэкэнд-компилятору.

...