我正在尝试创建一个 VBScript 解析器。我想知道最好的方法是什么。我研究过、研究过。最流行的方法似乎是使用 Gold Parser 或 ANTLR 之类的东西。
我想要实现的功能是动态检查 VBScript 中的语法错误。我不想每次更改某些文本时都编译整个 VBS。我该如何去做呢?我尝试使用 Gold Parser,但我认为没有增量方法可以通过它进行解析,例如部分解析树...关于如何为这种情况实现部分解析树有什么想法吗?
我已经通过 GOLD Parser 实现了 VBscript 解析。然而它仍然不是一个部分解析器,在每次文本更改后解析整个脚本。有没有办法构建这样的东西。
谢谢
最佳答案
如果你确实想进行增量解析,请考虑 this paper蒂姆·瓦格纳着。
保留现有的解析树,在编辑点打乱字符串片段的混合物,并且解析树代表源文本中未更改的部分,并将字符串重新集成到解析树集中,这是一个绝妙的方案。 。这是使用增量 GLR 解析器完成的。
实现起来并不容易;我只做了 GLR 部分,从来没有抽出时间来处理增量部分。 GLR 部分的麻烦是值得的。
有很多关于增量解析的论文。这是非常好的之一。
关于parsing - VBScript 部分解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5192774/