Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > модификация кода с помощью gcc_xml |
Автор: ElKa 9.7.2010, 12:12 | ||||
подскажите плиз как это можно реализовать например, в следующем коде мне нужно заменить + на - и int a,b; на float a,b;
я парсаю его с gcc_xml gccxml_cc1plus sample.cpp -fxml=sample.xml и получаю такой XML код
как с его помощью можно модифицировать код? и можно ли вообще? может быть можно более подробный исходящий код получить? какие вообще возможности дает этот парсер для модификации кода? |
Автор: Ockonal 11.7.2010, 06:39 |
Я думаю, вам нужно использовать "отражение", когда программа использует и обрабатывает команды как данные. Там можно делать динамический код. Проблема в том, что на С++ это пока невозможно стандартными средствами, но где-то валялась библиотека такая. Не знаю на счёт её работоспособности. upd http://dev.tegesoft.com/projects/camp и есть эта библиотека. Ещё пару ссылок в догонку: http://stackoverflow.com/questions/41453/how-can-i-add-reflection-to-a-c-application, http://en.wikipedia.org/wiki/Reflection_(computer_science). Гугли по теме c++ reflection. |
Автор: ElKa 13.7.2010, 19:28 |
Ockonal, да я уже поняла, что этот парсер ничего не дает мне его здесь настойчиво рекомендовали, а на деле с него толку нет насчет рефлексии, он как раз что-то вроде рефлексии делает, т.е. парсит структуру классов из .h-файлов и достает все функции и переменные классов, как рефлексия в яве мемберсы достает а мне надо именно содержимое функций и значения и типы менять (in .cpp) а на другие парсеры у меня уже времени нет |