C/C++/Java解释器

C/C++/Java解释器,java,c++,c,interpreter,Java,C++,C,Interpreter,为什么从来没有人制作过不需要编译就可以运行的C/C++/Java解释器?对于Python来说,创建类似于空闲的东西并不难 其他语言如FORTRAN、Pascal和其他语言也是如此。是否有某种基于代码的原因,或者只是人们更喜欢编译他们的代码。只是一些想法 所有解释器都必须有一个lexer/parser阶段(尽管有一些增量编译器的学术研究) 当IDE可以持续保持“全部编译”状态时,使用Java解释器是没有意义的 我认识一些与编译器并行的解释器,其中发生的一件令人遗憾的事情是,由“表兄妹”处理的实际语

为什么从来没有人制作过不需要编译就可以运行的C/C++/Java解释器?对于Python来说,创建类似于空闲的东西并不难

其他语言如FORTRAN、Pascal和其他语言也是如此。是否有某种基于代码的原因,或者只是人们更喜欢编译他们的代码。

只是一些想法

所有解释器都必须有一个lexer/parser阶段(尽管有一些增量编译器的学术研究)

当IDE可以持续保持“全部编译”状态时,使用Java解释器是没有意义的

我认识一些与编译器并行的解释器,其中发生的一件令人遗憾的事情是,由“表兄妹”处理的实际语言并不真正兼容,这使得开发解释器具有风险

像JVM这样的东西使得“自己滚”越来越不可取


过去,沃思自己的小组曾为帕斯卡子集(IIRC:p-Pascal)提供过一个解释器。对学生来说是一个好的学习对象,但是一个严重的软件开发的玩具。

< P> C和C++是设计用来编译和生成快速高效代码的语言。p> 根据“解释”代码的定义,解释器一般都很慢(或者至少比同一种编译语言慢,假设是一个好的编译器)

然而,clang和llvm-jit的组合可以(并且已经)构建到“C或C++的解释版本”中。我认为它有一些局限性,我从来没有真正使用过它


没有什么技术上的理由不这样做,只是编写编译器的工作量差不多,如果不超过的话,那么编写编译器的最终结果就是“更好”

为一种完全可编译的语言实现解释器只有一个合理的理由:对其操作语义有一个正式的定义,这反过来可以用来派生静态代码分析工具、代码重写工具、各种验证引擎等等


例如,

什么是代码> C/C++ +java /java >?@ JuangopANZa,C,C++或Java。我不必费心把它写出来。我以前遇到过C++翻译程序。太可怕了,@BLUEPIXY它好吗?