如何在java中编写JavaScript解析器

时间:2011-09-06 08:23:28

标签: java javascript parsing

我想为JavaScript编写解析器。

我发现我需要对每个角色进行某种扫描,一旦我与任何{进行互动,我必须跟踪下一个}(关闭大括号)。 为了有效使用,我可以使用堆栈。 任何人都可以建议我使用Java构建JavaScript解析器的更好的想法或方法吗?

4 个答案:

答案 0 :(得分:2)

您可能想要使用ANTLR进行调查 - 它是一个工具,它允许您根据您编写的语法文件生成java或其他语言的解析器类。您可能能够在线找到javascript的语法(或至少部分语法)。

包含教程的Antlr主页 - http://www.antlr.org/

如果你不熟悉语法的概念,你可能需要阅读它们并进行编译;一个良好的第一次开始可能是维基:http://en.wikipedia.org/wiki/Formal_grammar

答案 1 :(得分:1)

ANTLR是用于构建解析器的事实上标准(不仅在Java中),并且也非常易于使用(包括Eclipse plugin)。似乎有一些现成的grammars用于JavaScript。

答案 2 :(得分:1)

已经有一个用Java编写的完整JavaScript引擎,名称为Rhino。显然它必须包含一个解析器,它是开源的,所以你可以看看它是如何在那里完成的。

我怀疑你会发现解析像JavaScript这样的语言比你期望的要复杂得多。

答案 3 :(得分:0)

还有JavaCC