Мне было интересно, есть ли что-то вроде интерпретатора для C. То есть, в терминале Linux я могу ввести "python", а затем код в этом интерпретаторе. (Я не уверен, что переводчик правильное слово). Это действительно полезно для тестирования разных вещей, и мне любопытно, если что-то подобное существует для C. Хотя я в этом сомневаюсь. Единственное, что я могу думать об этом, это будет оболочка C...
Есть ли переводчик для C?
Ответ 1
Есть много - если сузить сферу вашего вопроса, мы можем предложить некоторые конкретные для ваших нужд.
Заметным интерпретатором является " Ch: интерпретатор C/С++ для Script Computing", подробно описанный в Dr. Dobbs:
Ch - полный интерпретатор C, который поддерживает все языковые функции и стандартные библиотеки ISO C90 Стандарт, но распространяется на C со многими высокоуровневые функции, такие как строка типа и вычислительных массивов, как первоклассные объекты.
Стандарт Ch является бесплатной версией, но не с открытым исходным кодом. Только у Ch professional есть возможности построения и другие функции, которые могут потребоваться.
Я никогда раньше не смотрел на это, но с интерпретатором c в руке звучит очень полезно, и что-то, что я, вероятно, добавлю в свой набор инструментов. Спасибо за вопрос!
Edit:
Просто выяснилось, что один из моих любимых компиляторов TCC выполнит сценарии C:
Он также обрабатывает файлы C Script (только добавить линию shebang "#!/usr/local/bin/tcc -run" для первая строка вашего исходного файла исходного кода на Linux, чтобы он выполнялся напрямую.
TCC может читать исходный код C из стандартный ввод, когда '-' используется в место "infile". Пример:
echo 'main(){puts("hello");}' | tcc -run -
Ответ 2
picoc - очень маленький интерпретатор языка C
PicoC - очень маленький интерпретатор C для сценариев. Первоначально написанный как язык script для бортовой системы полета БЛА. Он также очень подходит для других роботизированных, встроенных и не встроенных приложения.
Ответ 3
проект ROOT предоставляет очень функциональный интерпретатор C и С++, называемый Cint. Я очень люблю это. Тем не менее, это требует немного привыкания к интерпретации.
TCC - очень хороший выбор, но я не могу ручаться за его REPL
Ответ 4
Возможно. Для С++ существует несколько. См. Использовали ли вы какие-либо интерпретаторы С++ (а не компиляторы)?. Конечно, cint будет есть почти любой c-код с хорошими результатами, а tcc настолько быстро, что вы можете использовать его как интерпретатор.
Ответ 5
Посмотрите на Ch Interpreter.
Ch - встраиваемый интерпретатор C/С++ для межплатформенных скриптов, оболочки программирование, 2D/3D построение, числовое вычислений и встроенных скриптов.
Ответ 6
Я знаю, что мы используем CINT в классе. Это казалось довольно хорошим, вы можете попробовать попробовать!
Ответ 7
Отъезд iGCC
Ответ 8
cinterp
- один для начала.
Ответ 9
ccons, как представляется, удовлетворяет вашим ограничениям:
Цель проекта ccons - создать интерактивную консоль для языка программирования C, подобную "python" и "irb" для Python и Ruby соответственно. Проект строится на вершине clang и llvm.
Ответ 10
Вы можете использовать CompCert. Вот несколько примеров: http://compcert.inria.fr/man/manual004.html
Ответ 11
В последнее время существует Cling (на основе LLVM/Clang)
Ответ 12
Это было сделано, хотя подавляющее большинство работы С составлено. Одним из примеров является CH