Dan*_*nte 5 antlr code-completion antlr4
我不知道,如果这个问题有效,因为我不太熟悉源代码解析.我的目标是为一个现有的编程语言(语言"X")编写源代码完成函数以用于学习目的.Antlr(v4)是否适合这样的任务,或者是否应该手动完成必要的AST/Parse Tree创建和解析,假设不存在现有解决方案?
我没有找到关于该特定主题的更多信息,除了编译器书籍列表,除了编译器不是我想要的.
Sam*_*ell 10
GoWorks中的代码完成完全使用ANTLR 4实现.以下视频显示了此代码完成引擎的完成级别.代码完成示例从视频结束的5分钟开始运行.
多年来我一直在研究代码完成算法,并且坚信没有更好的解决方案(自动或手动)来为新语言生成代码完成解决方案,以满足我所谓的高响应代码完成的要求.如果您对该级别的性能或准确性不感兴趣,那么您可能更容易参与其他解决方案(我不会与那些个人合作,因为我对结果太容易失望).
Xtext使用ANTLR3并具有良好的自动完成功能.问题是,它生成一个单独的解析器(再次使用antlr3)进行自动完成处理AbstractInternalContentAssistParser.这个数千行代码部分显示xtext团队单独发现ANTLR3的错误恢复不足.
同时,ANTLR4具有parser.getExpectedTokensWithinCurrentRule()列出给定位置的可能令牌类型的功能.它在ParseTreeListener中使用时有效.剩下的是语义,范围等,这是ANTLR范围之外的.
| 归档时间: |
|
| 查看次数: |
2492 次 |
| 最近记录: |