没有任何人有任何经验,这样做?我工作的一个Java反编译器现在在C++,但想更高水平的语言要做到实际转变的内的树木。我很好奇如果开销的封送数据之间的语言是值得的利益,更富有表现力和语言更好地阐明我试图完成的任务(如Haskell).这实际上是在"现实世界的",或者是它通常选择一个语言在开始的一个项目,并坚持使用它?任何技巧从那些企图?

有帮助吗?

解决方案

我总是选择合适的编程语言,每一个挑战,一个大的倡导者。如果是容易处理一些棘手的,否则任务另一种语言,我会说去了。

这是否会发生在现实世界?是。我目前工作的这是由PHP和Objective-C代码的项目。

诀窍是,当你指出的那样,在两种语言之间的通信。如果可能的话,让每种语言坚守自己的域,并有两个部分在可能的最简单方式进行通信。在我的情况下,通过HTTP发送XML文档。在你的情况,某种格式的文本文件的可能是答案。

其他提示

编组站成本取决于语言和架构,你正在使用。例如,如果你在CLR或JVM,有低成本的解决方案互操作提供 - 虽然我知道你是有可能的非托管C ++工作

的另一种途径是嵌入式域专用语言。树变换是经常通过相对小的数量的功能的模式匹配和应用表达。你可以考虑写一个简单的树模式匹配器 - 例如一些看起来像Lisp的S-exprs但使用占位符来捕获的变量 - 与是变换匹配的子树功能相关的动作

约翰Ousterhout, 的发明者 Tcl/Tk 是一种强力提倡多语言编写了相当广泛。为了做到这一点,你需要一个干净的接口机制之间的语言的使用。有相当多的机制。例的不同机制这样做是:

  • 痛饮(简化和包装 发生器的接口 可以采取的一个c 或c++(或其他几种语言) 头文件,并产生一个 接口的高水平的语言 如perl或蟒蛇,允许 你访问。还有 其他系统,使用这个 办法。

  • Java支持 JNI, 和各种 其他系统,例如蟒蛇的 ctypes,VisualWorks DLL/C 连接 是当地的机制 这能让你明确 构建的呼叫下 级别子系统。

  • Tcl/Tk的目的是明确是 嵌入式的,并具有一个 本机API C图书馆加入挂钩 语言。本构造 这类似于argv[]中的结构 C,旨在使它 比较容易接口 命令行基于C节目 Tcl。这是类似于上面 例,但从相对的 方向。许多脚本语言 如蟒蛇,Lua和Tcl支持 这种类型的机制。

  • 明确的机制,例如胶 玻璃, ,这是类似于 包装发电机,但有自己的 自己的语言为定 接口。派实际上是一个 完整的程序语言。中间,例如 COMCORBA 允许一个通用的 接口定义的建造 外部的应用程序中的一个 接口定义的语言 和语言绑定的 语言的使用 共同界面的机制。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top