【问题标题】:Abstract (programming) language built to transpile为转译而构建的抽象(编程)语言
【发布时间】:2020-04-24 06:48:39
【问题描述】:

简介

我经常遇到一种情况,即库是用特定的编程语言编写的。这很好,如果我想使用同一种语言的库,但如果我想使用不同的语言,那将是一个问题(这并不意味着可能会有或多或少的 hacky 方式)。 对于某些库,我感觉它们是用那种特定的编程语言编写的,仅仅是因为任何语言都可以(并且由于作者的个人偏好),这意味着没有使用特定语言的高级外部 3rdparty 库.对于这些情况,我认为如果有某种抽象(编程)语言,库作者可以在其中指定算法,然后可以将其转换为许多其他编程语言,那将是整洁的。因此,如果我想使用该库,我可以简单地使用转译器以我选择的语言获取该库。


实际问题

所以我正在寻找一种语言,它专门用于转换成最流行的语言(例如 Java、C/C++、Python)。我很感兴趣是否有人曾经努力创建过这样一种“通用”的转译器语言。

请注意,我不是寻找从一种语言到另一种语言的特定转换器。我想知道是否存在一种(编程)语言,该语言被设计为可转换为许多不同实际编程语言的源代码。因此,我正在寻找的语言可能甚至不会自行运行(只有转译的代码才是真正的程序)。
虽然我很想听听这种语言存在的一般利弊,但这也不是这个问题的意义所在,因为这里有关于 SO 的规则。因此,我要求您不要以这种风格写基于意见的答案。

这个问题的答案很可能是没有这种语言,但由于我的研究没有提出任何东西,我想也许这里有人知道这种语言,我可能因此而错过了没有被广泛使用。

【问题讨论】:

标签: transpiler


【解决方案1】:

一种旨在转换为其他各种语言的语言是Haxe
在撰写本文时,它支持为以下对象生成源代码:

  • JavaScript
  • 动作脚本 3
  • PHP(包括 PHP7)
  • C++
  • Java
  • C#
  • Python
  • 卢阿

(参考:https://haxe.org/documentation/introduction/compiler-targets.html

它还支持直接编译为特定虚拟机的字节码

【讨论】:

  • 我只是将 Haxe 查找到 Python。以为它看起来像 Typescript,但它更像是 C。
猜你喜欢
  • 2015-07-15
  • 2014-05-28
  • 2020-01-17
  • 2020-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多