有一种高级语言可以编译成VBA吗?

时间:2013-08-13 05:51:22

标签: vba compilation programming-languages

我想知道是否有任何语言编译成VBA,就像我们有js的coffeescript,而不是css ...

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

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

这需要做什么?我们可以重用coffeescript语法和解析器,但是破解生成Javascript并生成VBA的步骤吗? VBA的一个子集就可以了。

1 个答案:

答案 0 :(得分:2)

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

那么,为什么Coffeescript创建了 ex nihilo ,而不是使用现有语言?集成。

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

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

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

因此,以slapdash的方式做起来并不难,但是,如果源语言与VBA有很大不同,那么做一些特定于VBA的事情可能会让项目变得有用。