我在想转换程序和编译器之间的问题。
例如,我有一种语言(让我们称之为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 )中添加了另一个库,那么退出限制会有帮助吗?
发布于 2013-12-29 03:10:00
您不能退出目标语言的限制。但是,您可以创建一个兼容性层,以模拟缺少的特性,并以某种方式提供功能。
在您的示例中,如果foo内部函数writefile()是写入文件的函数,则可以创建一个库,该库提供一个写文件函数,该函数使用ajax将文件存储到服务器(或cookie或localstore等)。原来的foo脚本不需要更改才能正常工作。
这正是编写一个转换程序的主要部分之一:您不仅需要翻译语言,而且还必须模仿缺少的特性。
(您也可以选择禁用缺少的功能)
发布于 2013-12-25 11:06:39
Transpiler是一种编译器,它以编程语言的源代码为输入,并将源代码输出到另一种编程语言中。
因此,在输出中,对于样本的javascript来说,您有一个带有destinationa语言源的文件,这个文件将被执行,所以如果您在javascript上手工创建它,结果是相同的。
因此,回答您的问题:不可能退出限制目的地语言,因为最终您可以在这种语言上执行程序。
https://stackoverflow.com/questions/20771808
复制相似问题