我想知道是否有任何语言可以编译成 VBA,比如我们有 js 的咖啡脚本,少了 css ......
如果没有,是否有什么东西阻止我们实现这一目标?这会是个坏主意吗?
我想这会帮助那些习惯于使用更现代的语言的人提高工作效率。
这样做需要什么?我们是否可以重用咖啡脚本语法和解析器,但改用生成 Javascript 和生成 VBA 的步骤?VBA 的一个子集就可以了。
我想知道是否有任何语言可以编译成 VBA,比如我们有 js 的咖啡脚本,少了 css ......
如果没有,是否有什么东西阻止我们实现这一目标?这会是个坏主意吗?
我想这会帮助那些习惯于使用更现代的语言的人提高工作效率。
这样做需要什么?我们是否可以重用咖啡脚本语法和解析器,但改用生成 Javascript 和生成 VBA 的步骤?VBA 的一个子集就可以了。
一般来说,总是可以从一种图灵完备的语言编译成任何其他语言。结果可能不会很快,但通常相当简单。
那么,为什么 Coffeescript 是从零开始创建的,而不是使用现有的语言呢?一体化。
例如,假设我们想用 Haskell 编写 JS。您可以轻松实现 Haskell 到 JavaScript 编译器。现在,假设用 Haskell 编写代码,您想在网页上弹出一个对话框。在 JS 中,你会写alert("hello")
,但如果你的 H2JS 编译器是正确的,就不会有任何alert
函数,因为 Haskell 函数没有副作用(也许你想用 Haskell 编写的全部原因是为了让你可以有很好的保证,比如调用函数不会弹出对话框)。
您的 H2JS 编译器可以通过多种方式提供此功能,但选择哪一种并不一定很明显。你不能只阅读 JavaScript 文档来学习如何做浏览器相关的事情;您还需要阅读 H2JS 编译器的文档!
另一方面,Coffeescript 与 JS 非常相似,如何弹出警报、编辑 DOM 等非常明显,只要知道它是如何在 JS 中完成的。
因此,以草率的方式做起来并不难,但是,如果源语言与 VBA 有很大不同,那么首先要做使项目有用的 VBA 特定的事情可能会很棘手。