Search
Write a publication
Pull to refresh

Интерпретаторы 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 прекращена.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.