Я думаю, книга Мартина Фаулераhttp://www.ozon.ru/context/detail/id/6967089/
снимает проблему. Просто "изобретаем" DSL и пишем на нем.
> -- Цитата:
> В этой книге известный эксперт в области программного обеспечения Мартин Фаулер предоставляет информацию, которая поможет вам определиться, следует ли использовать предметно-ориентированные языки для решения стоящих перед вами задач. Если применение предметно-ориентированных языков окажется оправданным, то вам пригодится вторая часть книги, в которой подробно, на конкретных примерах, описаны технологии, применяемые при создании таких языков. Методы, описанные в данной книге, могут использоваться в большинстве современных объектно-ориентированных языков программирования. В основном примеры в книге написаны на Java и C#, но в некоторых из них использован Ruby. Все главы по возможности организованы в виде самодостаточных частей, а большинство справочных разделов - в знакомом читателю формате описания шаблонов программирования. При правильном выборе и применении предметно-ориентированные языки могут существенно упростить сложный код, обеспечить эффективное общение с пользователями, повысить производительность и устранить узкие места разработки. В этой книге известный эксперт в области программного обеспечения Мартин Фаулер предоставляет информацию, которая поможет вам определиться, следует ли использовать предметно-ориентированные языки для решения стоящих перед вами задач. Если применение предметно-ориентированных языков окажется оправданным, то вам пригодится вторая часть книги, в которой подробно, на конкретных примерах, описаны технологии, применяемые при создании таких языков.