我想知道是否有任何语言编译成VBA,就像我们有js的coffeescript,而不是css ...
如果没有,有什么东西阻止我们实现这一目标吗?这会是个坏主意吗?
我想这可以帮助那些习惯使用更现代语言的人提高工作效率。
这需要做什么?我们可以重用coffeescript语法和解析器,但是破解生成Javascript并生成VBA的步骤吗? VBA的一个子集就可以了。
答案 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的事情可能会让项目变得有用。