.net APL语言编译器到IL

.net APL语言编译器到IL,.net,transpiler,apl,.net,Transpiler,Apl,我没有任何使用APL的经验,我们团队中也没有人有,但我们拥有庞大的代码库,必须使用更现代的方法重写。所以我只是想知道有没有编译器可以帮助从APL代码生成IL代码?或者任何其他建议都很受欢迎,我们应该如何处理呢?您没有说为什么必须重写它。我想可能是以下原因之一: 您需要进行更改,而您的团队没有任何APL程序员。  有APL程序员和顾问在那里,而且不断有更多的人出现。我建议在广告上宣传您的需求,并联系各种不同的供应商 您使用的是一家供应商提供的APL系统,该供应商不再提供所需的支持,或者您希望切换平

我没有任何使用APL的经验,我们团队中也没有人有,但我们拥有庞大的代码库,必须使用更现代的方法重写。所以我只是想知道有没有编译器可以帮助从APL代码生成IL代码?或者任何其他建议都很受欢迎,我们应该如何处理呢?

您没有说为什么必须重写它。我想可能是以下原因之一:

您需要进行更改,而您的团队没有任何APL程序员。
 有APL程序员和顾问在那里,而且不断有更多的人出现。我建议在广告上宣传您的需求,并联系各种不同的供应商

您使用的是一家供应商提供的APL系统,该供应商不再提供所需的支持,或者您希望切换平台。
  直接作为Dyalog将系统从Dyalog APL迁移到积极维护、开发和支持的跨平台

APL被认为是过时的,因此您希望通过更改为更通用的语言来验证您的系统。
  是一种经过30多年调整和优化的语言,因此已从经典的APL2风格演变为现代的多范式编程语言。正如Dyalog APL一样,它也在微软官方的.NET语言列表中

您正在寻找更高的性能。
 根据您使用的APL系统,这里有几个选项。只要升级到最新的解释器版本,就可以获得巨大的速度提升。顾问也可以调整您的APL代码以提高速度。Dyalog APL,现在具有更快的查找速度。如果您将自己限制在DyLog-APL、DFNS的功能编程子集上,则可以使用该方法从APL代码中创建C++代码。
如果这些原因都不适用于您,那么请更新您的问题,使其更加具体。

有几种APL编译器输出不同的目标语言,即C、C#、Java、JavaScript、SAC以及其他语言。但是,这些编译器可能是实验性的、学术性的,也可能不是预期的商业质量。此外,编译器可能仅支持该语言的子集,或者不支持较新的语言特性(如DFN)。最后,编译器发出的代码将非常大,并且可能不需要继续维护。谷歌Snake Island Research、Aaron Hsu和Timothy Budd了解更多信息

另一件需要考虑的是,在APL编程背后的哲学和思想可能是(如果不是疯狂的,如果不是深刻的)不同于C语言或java语言中的编程。请看2017年9月11日许亚伦(Aaron Hsu)的演讲,该演讲很好地解释了这一点。看,亚伦的演讲大约在2:00:00开始


了解有关APL代码的一些信息是很有用的——大概是什么时候、为了什么目的编写的APL系统,然后是代码的使用方向——目标语言(Java等)、操作系统、是否应该是web应用程序等。

您不需要将其转译成IL。这是一个编译过程。除此之外,我不知道有任何将APL编译成IL的编译器,但在Dyalog(Dyalog APL)的不断开发下,该语言有一个强大的支持实现,它支持许多到.Net和windows的适配器。也许值得一看。只要看看维基百科的文章。它甚至还谈到了APL到C的翻译,当然是你真正想要的。由于您有一个庞大的APL代码库,您可以1)将所有APL代码转换为另一种语言(我假设C#for.NET是最流行的选项),或2)将APL代码编译为IL,以便在.NET CLR上运行。每种方法都有其优点和缺点,如果有特定的工具,或者您的团队必须自己开发,它们可能会起作用。但第一步是你需要从1)和2)中选择。你有一些编译器示例吗?@WilmarArias我不知道你的意思。我的帖子已经链接到了两个编译器。你能详细说明一下吗?@WilmarArias这个网站有。对不起,我不是指编译器,我想我是指transpiler。你知道有什么软件可以将APL代码转换成c#、Java或JavaScript吗?:)@WilmarArias(底部的链接已断开,无论如何,他已迁移)