Как стать автором
Обновить

Интерпретаторы C/C++

Интерпретаторы бывают очень полезны когда надо быстро проверить какую-то идею, для отладки или во время обучения новому языку. Когда я решил вспомнить C, я понял, что мне их не хватает. Оказалось, что существует несколько интерпретаторов C/C++. Предлагаю здесь их краткий обзор.

iGCC
лицензия: GNU GPL v.2 или выше
версия для Windows: нет
разрабатывается с 2009 года, последняя версия — 19.03.2012

iGCC — тонкая обёртка над GCC, написанная на Python. Самый легковесный из интерпретаторов (184Кб в распакованном виде). Поддерживает многострочный ввод. Весь код пишется внутри функции main() со всеми вытекающими последствиями.

PicoC
лицензия: New BSD license
версия для Windows: нет
разрабатывается с 2009 года, последняя версия — 20.02.2011

PicoC — создавался как скриптовый язык для бортовых систем БПЛА. Авторы заявляют, что он хорошо подходит для робототехники и приложений для встраиваемых устройств. Не является полной реализацией ISO C. Весит 1,9 Мб. Поддерживает многострочный ввод и объявление функций.

UnderC
лицензия: GNU LGPL
версия для Windows: есть
разрабатывался с 2001 года, последняя версия — 29.11.2003

UnderC — создавался как быстрый небольшой интерпретатор, реализующий большую часть стандарта ISO C. В нём есть встроенные классы стандартной библиотеки, например string, vector, map. Легко загружает функции из динамических библиотек.

К сожалению, мне так и не удалось скомпилировать UnderC. Но, судя по размеру (распакованые исходники — 1,6Мб), он похож на предыдущие интерпретаторы по возможностям.

Ch
лицензия: проприетарная
версия для Windows: есть

Ch — проприетарный интерпретатор C/C++. Версия Standard бесплатна для коммерческого использования. Есть сборки не только для Linux и Windows, но и Mac OS, Solaris, FreeBSD и пр. Поддерживает стандарт C90 полностью. Позиционируется как самый функциональный интерпретатор С. Версия для Windows поддерживает команды консоли и также включает некоторые команды UNIX, например vi, ls, awk, sed, vim с подсветкой синтаксиса. Ch может работать как командная оболочка… Полный список фич здесь. Выглядит весьма серьёзно, поддерживает многострочный ввод, объявление функций.

CINT
лицензия: GNU LGPL
версия для Windows: нет

ROOT — фреймворк CERN для анализа данных (судя по всему очень мощный) и CINT его часть. Поддерживает примерно 95% ANSI C и 85% C++. Есть подсветка синтаксиса. Расхождения со стандартом описаны здесь. Поддерживает многострочный ввод и объявление функций (они загружаются из сторонних файлов как кусочки кода, в самом интерпретаторе их объявлять нельзя).

К сожалению, интерпретаторов уровня, например, встроенного в python для C на данный момент нет. CINT и Ch — самые функциональные, но не отличаются удобством использования, iGCC и PicoC подойдут только для обучения, разработка UnderC прекращена.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.