it-swarm.com.ru

Есть ли переводчик для C?

Мне было интересно, есть ли что-то вроде интерпретатора для C. То есть в терминале Linux я могу набрать «python», а затем код в этом интерпретаторе. (Я не уверен, что истолковал правильное Слово). Это действительно полезно для тестирования разных вещей, и мне любопытно, существует ли что-то подобное для C. Хотя я сомневаюсь в этом. Единственное, что я могу придумать, это сделать C Shell ...

112
devin

Есть много - если вы сузите область своего вопроса, мы могли бы предложить некоторые конкретные для ваших нужд.

Известный интерпретатор " Ch: C/C++ Interpreter for Script Computing " подробно описан в Dr. Dobbs: 

Ch - полный C-интерпретатор, который поддерживает все языковые функции и стандартные библиотеки ISO C90 Стандартный, но расширяет C многими высокоуровневые функции, такие как строка Тип и вычислительные массивы как первоклассные объекты.

Ch стандарт бесплатен но не с открытым исходным кодом. Только у Ch professional есть возможности прорисовки и другие функции.

Я никогда не смотрел на это раньше, но наличие переводчика c под рукой звучит очень полезно, и кое-что я, вероятно, добавлю к своему набору инструментов. Спасибо за вопрос!


Правка:

Только что обнаружил, что один из моих любимых компиляторов, TCC , будет выполнять сценарии C:

Он также обрабатывает файлы сценариев C (просто Добавьте строку Shebang "#!/Usr/local/bin/tcc -run" в Первую строку вашего файла исходного кода C В Linux чтобы он был исполнен напрямую.

TCC может читать исходный код C из стандартный ввод, когда «-» используется в место "infile". Пример:

echo 'main(){puts("hello");}' | tcc -run -
72
Adam Davis

picoc - Очень маленький интерпретатор C

PicoC - очень маленький интерпретатор C для скриптинга. Это было изначально написан как язык сценариев для бортовой системы полета БПЛА . Это также очень подходит для других роботизированных, встроенных и не встроенных Приложения.

18
aleroot

проект ROOT предоставляет очень функциональный интерпретатор C и C++, который называется Cint . Я очень люблю это. Однако нужно немного привыкнуть к интерпретации. 

TCC также очень хороший выбор, но я не могу поручиться за его REPL

9
SingleNegationElimination

Наверное. Есть несколько для C++. Смотрите Вы использовали какой-либо из интерпретаторов C++ (не компиляторы)? Например. Конечно, cint будет есть практически любой код c с хорошими результатами, а tcc настолько быстр, что вы можете использовать его как интерпретатор.

8
dmckee

Посмотрите на Ch Переводчик .

Ch - встраиваемый интерпретатор C/C++ для кроссплатформенного скриптинга, Shell программирование, 2D/3D черчение, числовое вычисления и встроенные скрипты.

7
CMS

Я знаю, что мы используем CINT в классе. Казалось, довольно хорошо, вы можете попробовать!

6
Javed Ahamed

Выезд iGCC

5
Neel Basu

cinterp один для начала.

4
paxdiablo

ccons соответствует вашим ограничениям:

Цель проекта ccons - создать интерактивную консоль для языка программирования C, аналогичную «python» и «irb» для Python и Ruby соответственно. Проект основывается на Clang и llvm.

3
icktoofay

Вы можете использовать CompCert. Вот несколько примеров: http://compcert.inria.fr/man/manual004.html

2
Janus Troelsen

Совсем недавно появился Cling (на основе LLVM/Clang)

http://root.cern.ch/drupal/content/cling

2
ideasman42

Это было сделано, даже если подавляющее большинство работ по Си составлено. Одним из примеров является CH

1
Rob Lachlan

CERN имеет набор инструментов под названием ROOT, который предназначен в основном для научных целей или для анализа данных и т.д., Но у него есть интерпретатор C/C++ на основе Clang, называемый Cling.

Они использовали интерпретатор C под названиемCINT, прежде чем адаптировали Cling. CINT легок и все еще, кажется, доступен для скачивания.

Я думаю, что вы можете получить что-то другое, внимательно просматривая список статей Википедии.

0
user9600383