带有 ANTLR4 智能感知的代码编辑器

Code Editor with intellisense for ANTLR4

正在寻找使用智能感知构建基于 ANTLR4 语法的代码编辑器的示例。 SharpDevelop 提供所有代码编辑器功能,但是如果我们需要提供智能感知和代码完成细节,那么我们需要编写自己的解析器。

需要示例,其中 ANTLR4、SharpDevelop 用于构建自定义语言的代码编辑器。

谢谢。

我在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);
            }
        }

}