我需要为自己的简单语言创建一个代码编辑器:
className.MethodName(parameterName = 2, ... )
我已经创建了适当的语法以及使用ANTLR工具生成解析器。现在我想为类、方法、变量和参数名称提供自动补全功能。这个列表应该是上下文相关的,例如对于 "class." 应该显示方法,对于 "class.Method(" 应该显示参数。我打算解析文本,并根据光标所在节点显示列表。问题是,对于像 "aaa.bbb(" 这样的不完整代码,解析器会产生错误而不是语法树。您有什么解决这个问题的想法吗? 也许我走错了路,不应该解析代码来显示自动完成?