1

我想知道是否有任何语言可以编译成 VBA,比如我们有 js 的咖啡脚本,少了 css ......

如果没有,是否有什么东西阻止我们实现这一目标?这会是个坏主意吗?

我想这会帮助那些习惯于使用更现代的语言的人提高工作效率。

这样做需要什么?我们是否可以重用咖啡脚本语法和解析器,但改用生成 Javascript 和生成 VBA 的步骤?VBA 的一个子集就可以了。

4

1 回答 1

2

一般来说,总是可以从一种图灵完备的语言编译成任何其他语言。结果可能不会很快,但通常相当简单。

那么,为什么 Coffeescript 是从零开始创建,而不是使用现有的语言呢?一体化。

例如,假设我们想用 Haskell 编写 JS。您可以轻松实现 Haskell 到 JavaScript 编译器。现在,假设用 Haskell 编写代码,您想在网页上弹出一个对话框。在 JS 中,你会写alert("hello"),但如果你的 H2JS 编译器是正确的,就不会有任何alert函数,因为 Haskell 函数没有副作用(也许你想用 Haskell 编写的全部原因是为了让你可以有很好的保证,比如调用函数不会弹出对话框)。

您的 H2JS 编译器可以通过多种方式提供此功能,但选择哪一种并不一定很明显。你不能只阅读 JavaScript 文档来学习如何做浏览器相关的事情;您还需要阅读 H2JS 编译器的文档!

另一方面,Coffeescript 与 JS 非常相似,如何弹出警报、编辑 DOM 等非常明显,只要知道它是如何在 JS 中完成的。

因此,以草率的方式做起来并不难,但是,如果源语言与 VBA 有很大不同,那么首先要做使项目有用的 VBA 特定的事情可能会很棘手。

于 2013-08-13T15:22:50.133 回答