我在转译器和编译器之间犹豫不决。
例如,我有一种语言('让我们称它为 foo'),它将被转换为 javascript。
foo -----transpiled-----> javascript
但是foo在javascript下有限制吗?
如:“如果没有服务器端脚本的帮助,JavaScript 无法写入服务器上的文件”
foo ----x----> write to files on the server without the help of a server side script
如果是,是否可以退出javascript的限制?
比如让 foo 能够写入文件本身。
foo ---------> write to files on the server
注意:我要的是解释和原因等等,而不是代码!
再次注意:它是否可以通过添加库来退出限制?
编辑:那么,如果我从另一种语言(如 python)添加另一个库,它是否有助于退出限制?
最佳答案
您不能退出目标语言的限制。但是,您可以创建一个兼容层来模拟缺失的特性并以某种方式提供该功能。
在您的示例中,如果 foo 内部函数 writefile()
是写入文件的函数,您可以创建一个提供 writefile 函数的库,该函数使用 ajax 将文件存储到服务器(或 cookie 或 localstore 等)。无需更改原始 foo 脚本即可工作。
而这恰恰是编写转译器的主要部分之一:您不仅需要翻译语言,还必须模拟缺少的功能。
(您也可以选择禁用缺少的功能)
关于javascript - 转译器和编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20771808/