Home
Stop! This is a wrong planet I got off.
Wow, I like this world!
Recent Entries 
Me2009, Main
Мне по работе необходимо написать утилиту, которая по определенным правилам проводила бы преобразование исходного текста программы. Есть ряд изменений в объектной модели нашей программы и мы хотим, чтобы можно было делать изменения во всех наших программных продуктах (полу)автоматически. Кроме того, есть ряд изменений в самой объектной модели приложений (например переход на MS SQL Server, переход от DAO к ADO, и прочее).
Понятно, что автоматически все это не получится -- задача сделать tool, который максимально упростит подобно рода "рутинные" изменения кода, то есть который мог бы довольно гибко изменять [текстовые] данные одной структуры другой структурой.
Я уже запрограммировал Schnittstelle, которая разбирает regexp'ы, но здесь нужен какой-то надязык по отношению к regexp, на котором можно было бы описывать исходные паттерны и изменения их, потому что там не просто "найти Х заменить на Y", а там сложные преобразования (с низкой степенью формализуемости), включающие преобразования:
  • безусловные циклы <-> условные циклы
  • преобразование вызовов методов класса (зачастую другие методы и с другим синтаксисом, для чего нужно объявлять ряд дополнительных переменных).
  • преобразование имен переменных (добавление типа при однозначном определении, например не MyFile, а либо strMyFile, либо osMyFile), функций и названий классов и универсальная замена их.
Есть какие-то идеи?
У меня уже есть наброски такого языка, но может быть я просто изобретаю велосипед?
This page was loaded Dec 8th 2009, 5:40 pm GMT.