2009-02-25 117 views
110

我想知道是否有类似C的解释器。也就是说,在Linux终端中,我可以键入“python”,然后在该解释器中编码。 (我不确定解释正确的词)。这对于测试不同的东西非常有帮助,我很好奇C是否存在类似的东西。尽管我怀疑它。我能想到的唯一的事情会做这将是C shell中...C有翻译吗?

+5

正确的话,你要的是“壳”或“提示”或“REPL”( Read-Eval-Print-Loop,参考在Lisp中必须加入Lisp解释器的4个Lisp命令),但解释器可以工作。 – 2009-02-25 04:40:03

+1

另一方面,您正在寻找的术语是REPL(Read Evaluate Print Loop)。 – Travis 2009-02-25 05:05:33

+0

[是否有C语言编程的REPL?](http://stackoverflow.com/q/10766900/309483) – 2014-01-31 12:29:55

回答

72

There are many - 如果你缩小问题的范围,我们也许能够提出一些具体的您的需求。

一个值得注意的解释是“Ch: A C/C++ Interpreter for Script Computing”详见布斯博士:

Ch是一个完整的C解释器 支持所有语言功能和ISO C90 标准 标准库,但扩展了C与许多 高级功能,如字符串 类型和计算数组作为 第一类对象。

Ch standard is freeware但不是开源的。只有Ch专业人员有绘图功能和其他可能需要的功能。

我从来没有在这之前看了,但手头上一个C解释听起来非常有用的,这是我很可能会添加到我的工具集。谢谢你的问题!


编辑:

刚刚发现我最喜欢的编译器,TCC,一人将执行C脚本:

它还可以处理C脚本文件(只 添加家当线 “#!/ usr/local/bin/tcc -run”到您的C源代码文件 的第一行,并将其直接执行到Linux上

在'infile'的 处使用' - '时,TCC可以从 标准输入中读取C源代码。例如:

echo 'main(){puts("hello");}' | tcc -run - 
1

曾有人做过,即使绝大多数C工件的编译。一个例子是CH

7

给看看到Ch Interpreter

Ch是一个可嵌入的C/C++解释为 跨平台的脚本,外壳 编程,2D/3D绘图,数值 计算和嵌入的脚本。

9

ROOT项目提供了一个功能非常强大的C和C++解释器,称为Cint。我很喜欢它。不过,这需要一点时间来解释。

TCC是一个非常不错的选择为好,但我不能够保证其REPL

6

我知道我们在课堂上使用CINT。它似乎很好,你可能想试试看!

18

picoc - 一个非常小的C解释

PicoC对于脚本非常小C的解释。原本是 被写为无人机机载飞行系统的脚本语言。 它也非常适用于其他机器人,嵌入式和非嵌入式应用。

3

ccons出现,以满足您的约束:

的CCONS项目的目标是创建C编程语言中的交互式控制台,类似“蟒蛇”和“IRB”为Python和Ruby分别。该项目建立在clang和llvm之上。