gpt4 book ai didi

javascript - 转换 JavaScript 代码

转载 作者:行者123 更新时间:2023-11-28 20:18:20 25 4
gpt4 key购买 nike

这是一个非常基本的问题。我尝试搜索,但无法得到任何可靠的答案。抱歉,如果它真的很基本。

我正在尝试编写一个插件/库来将 Javascript 转换为 Apache Jelly

所以我们的想法是编写 Javascript 代码,并将其转换为 Jelly 代码。

示例:类似 Javascript 的代码:

if(x == 1){
print("inside if");
}

Apache 转换后的代码:

  <j:if test="x=1">
inside if
</j:if>

问题是,如何解析整个 Javascript 代码并将其替换为其他代码。我确实看过 Jison,但它基本上是一个解析生成器,它解析值并解释它们。我觉得使用 jison 对我的任务来说有点开销。

知道我可以用什么来实现我想要做的事情吗?

编辑1:是的,在JSLint有一个Javascript自上而下的解析器,但是有什么简单的方法来指定需要更换的内容吗?例如,在上面的代码中 - 替换 if循环 <j:if>

最佳答案

您可能误解了 Jison 计算器示例。您不必在解析器中执行任何代码,只是计算器执行此操作来说明概念。您可以将任何您想要的内容放入解析器操作中,例如,生成 xml 格式的代码可能如下:

 `if` condition block:
{ $$ = '<j:if test=' + $2 + '>' + $3 + '</if>' }

另一个(也是更好的)选择是使用抽象 JS 解析器来构建 AST并通过遍历这棵树生成 XML。这样做的优点是将解析与代码生成解耦+您可以简单地利用已经制定的语法,如 https://github.com/cjihrig/jsparser .

关于javascript - 转换 JavaScript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18814322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com