javascript - 转译器和编译器

标签 javascript code-translation

我在转译器和编译器之间犹豫不决。

例如,我有一种语言('让我们称它为 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/

相关文章:

java - 如何在 Java Applet 中注册 JavaScript 回调?

javascript - 在 Javascript 中用正则表达式替换独立字符串

javascript - 无法在 IE9 中从 Javascript 调用 BHO 方法

python - 有什么工具可以将 Lisp 代码翻译成 Python 吗?

php - 我想将 "Read directory"代码从 php 翻译为 python

python - Lua:用2的幂分解一个数

javascript - 将计数器添加到 HTML 表单并计算积分

javascript - AngularJS Controller 不是一个函数,未定义

php - 将 Python 代码转换为 PHP

c - 在 AssignOp 之后在 ROSE 编译器中插入赋值