用于ANTLR4的带intellisense的代码编辑器
正在寻找使用intellisense构建基于ANTLR4语法的代码编辑器的示例。SharpDevelop提供了所有代码编辑器功能,但是如果我们需要提供intellisense和代码完成细节,那么我们需要编写自己的解析器 需要示例,其中ANTLR4、SharpDevelop用于构建自定义语言的代码编辑器用于ANTLR4的带intellisense的代码编辑器,antlr,antlr4,sharpdevelop,code-editor,nrefactory,Antlr,Antlr4,Sharpdevelop,Code Editor,Nrefactory,正在寻找使用intellisense构建基于ANTLR4语法的代码编辑器的示例。SharpDevelop提供了所有代码编辑器功能,但是如果我们需要提供intellisense和代码完成细节,那么我们需要编写自己的解析器 需要示例,其中ANTLR4、SharpDevelop用于构建自定义语言的代码编辑器 谢谢。我已经将Jide CodeEditor与antlr4一起使用,它似乎工作正常,但花了一些时间来整合。我从解析器生成用于突出显示的错误和关键字。我使用侦听器进行解析等,并使用访问者执行语言。不
谢谢。我已经将Jide CodeEditor与antlr4一起使用,它似乎工作正常,但花了一些时间来整合。我从解析器生成用于突出显示的错误和关键字。我使用侦听器进行解析等,并使用访问者执行语言。不熟悉SharpDevelop我可以使用侦听器中的GetExpectedTokensWithinRule API从ANTLR4获取预期的令牌,并将其转换为令牌 伪代码如下所示
public class MyGrammarListener : MyGrammarBaseListener
{
public MyGrammarListener(MyGrammarParser parser)
{
this.Parser = parser;
}
public override void EnterXXXXX(XXXXX_Context context)
{
IntervalSet set = Parser.GetExpectedTokensWithinCurrentRule();
base.EnterXXXXX(context);
foreach (int token in set.ToIntegerList())
{
// Returns the expected tokens.
string data = Parser.Vocabulary.GetLiteralName(token);
}
}
}ps antlr4支持Java,但对其他语言不太确定。在我的工作中,我也从antlr侦听器生成代码折叠。谢谢您的快速回答。我正在考虑如何使用ANTLR实现CodeCompletion。