Существуют ли какие-либо инструменты для работы с текстом, специализирующиеся на исходном коде? - PullRequest
1 голос
/ 23 июня 2011

Существуют ли бесплатные и открытые инструменты для работы с текстом для командной строки, специализирующиеся на исходном коде? Я особенно хотел бы функцию, где я мог бы просто добавить новую заглушку метода автоматически или удалить методы по имени в целом.

Было бы неплохо также автоматически генерировать геттеры / сеттеры.

Если для этого есть веб-сайт с хорошими примерами SED / Perl, это тоже может быть решением.

Было бы неплохо, если бы решение работало для нескольких языков или легко адаптируется для других языков.

Заранее большое спасибо.

1 Ответ

0 голосов
/ 23 июня 2011

Чтобы надежно изменить исходный код, вам нужно иметь возможность анализировать его так же, как это делает компилятор, указывать на языковые сущности, используя стандартные правила видимости для этого языка, и указывать свои изменения в коде. Инструменты, которые делают это, называются программами преобразования движками. Обеспечение всего этого механизма компиляции, интегрированного с производственными качественными языковыми интерфейсами, - значительная работа, поэтому таких инструментов не так много.

См. Наш инструментарий реинжиниринга программного обеспечения DMS . Это механизм преобразования программ, который обрабатывает несколько языков (C, C ++, C #, Java, PHP, JavaScript, ...) и обеспечивает работу такого типа. Хорошим свойством механизма преобразования типа «источник-источник», такого как DMS, является возможность писать преобразования с использованием (поверхностного) синтаксиса языков, которыми вы хотите манипулировать , а не более традиционными инструменты, подобные компилятору, которые настаивают на том, чтобы вы просто взламывали абстрактное синтаксическое дерево с большим количеством процедурного кода.

Это не так просто, "о, просто измени это". Но это надежно.

РЕДАКТИРОВАТЬ 23.06.2011: OP заявил, что должен работать с Java и PHP. DMS делает.

...