对于Javascript语言文件,什么是好的Delphi lexer/parser?

对于Javascript语言文件,什么是好的Delphi lexer/parser?,javascript,delphi,parsing,lexer,Javascript,Delphi,Parsing,Lexer,背景 我希望能够在Delphi应用程序中解析Javascript源代码。我需要能够识别源代码中的变量和函数,以便通过以后的代码对代码进行更改。我知道我可能需要为此使用lexer,但使用我发现的lexer()时运气不太好 问题: 是否有一个合适的免费软件或开源delphi解析器/词法器,它已经有Javascript的令牌集,或者可以很容易地为此目的进行修改,而不会有太多麻烦 如果现在还没有这样的工具,那么学习编写自己的lexer的最佳方法是什么 感谢您提供lexer,您可以看到Javascript

背景

我希望能够在Delphi应用程序中解析Javascript源代码。我需要能够识别源代码中的变量和函数,以便通过以后的代码对代码进行更改。我知道我可能需要为此使用lexer,但使用我发现的lexer()时运气不太好

问题:

是否有一个合适的免费软件或开源delphi解析器/词法器,它已经有Javascript的令牌集,或者可以很容易地为此目的进行修改,而不会有太多麻烦

如果现在还没有这样的工具,那么学习编写自己的lexer的最佳方法是什么

感谢您提供lexer,您可以看到Javascript荧光笔的源代码。Synedit上下文中的highlighter是一个具有特殊挂钩的lexer,用于向编辑器组件提供高亮显示。修剪那些钩子和得到一个简单的lexer是一件微不足道的工作


此外,Synedit编辑器在学习如何构建Lexer时也很方便,因为它将有助于直观地实时测试您的Lexer。您可以查看演示或在邮件列表中询问更多信息

我认为您应该使用GoldParser()在Delphi代码中生成完整的JS解析器。GoldParser是免费软件。

GoldParser很不错,但速度非常慢。即使在速度优化的C++代码中,解析15000行代码需要10秒。如果将其与PHP解析器的速度进行比较,则速度非常慢。