【发布时间】:2013-09-15 15:52:23
【问题描述】:
这是一个非常基本的问题。我尝试搜索 SO,但无法得到任何可靠的答案。对不起,如果它真的很基本。
我正在尝试编写一个插件/库来将 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 自上而下的解析器,但是有什么简单的方法可以指定需要替换的内容吗?例如,在上面的代码中——用<j:if>替换if循环
【问题讨论】:
-
如果你想用 JavaScript 解析 JavaScript,JSLint source code 可能会给你一些想法。
-
谢谢,如何替换我刚刚解析的内容?
-
解释 JavaScript 源代码以发现它所描述的程序结构的程序称为 JavaScript 解析器。这就是你必须写的。
-
您在解析原始代码时生成新代码。 JSLint 的目标是验证 JS 代码,您将阅读该代码,理解它,并根据自己的需要调整它。如果不了解解析器的工作原理,我认为您无法实现所需的目标。
标签: javascript parsing tokenize