Исторически требуемая функциональность не была доступна в C ++. Обычный обходной путь - встроить интерпретатор для языка, отличного от C ++ (например, Lua и Python специально предназначены для интеграции в приложения C / C ++, чтобы разрешить их скриптинг), или создать новый язык, специфичный для вашего приложения, с помощью собственный синтаксический анализатор, компилятор и т. д. Однако, это меняется.
Clang - это новый компилятор с открытым исходным кодом, разработанный Apple для использования LLVM. Clang изначально разрабатывался так, чтобы его можно было использовать не только как компилятор, но и как библиотеку C ++, которую вы можете встраивать в свои приложения. Я сам не пробовал, но вы должны иметь возможность делать с Clang то, что вы хотите - вы бы связали его как библиотеку и попросили скомпилировать код, введенный вашими пользователями в приложение.
Вы можете попробовать , как команда ClamAV уже сделала это, чтобы новые определения вирусов могли быть написаны на C .
Что касается других компиляторов, я знаю, что GCC недавно добавила поддержку плагинов. Возможно, это можно использовать для объединения GCC и вашего приложения, но поскольку GCC изначально не был предназначен для использования в качестве библиотеки, это может быть более сложным. Я не знаю ни о каких других компиляторах, обладающих подобной способностью.