首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有智能感知的ANTLR4代码编辑器

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

Stack Overflow用户
提问于 2015-07-20 11:06:18
回答 2查看 1K关注 0票数 0

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

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

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-29 10:36:41

我可以使用监听器中的ANTLR4 API从GetExpectedTokensWithinRule获取预期的令牌,并将它们转换为令牌。

伪代码如下所示

代码语言:javascript
运行
复制
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);
            }
        }

}

票数 2
EN

Stack Overflow用户

发布于 2015-07-25 23:55:28

我在CodeEditor中使用了Jide antlr4,它似乎工作正常,但花了一些时间才把它整合在一起。我将生成用于解析器突出显示的错误和关键字。我使用侦听器进行解析等,并使用访问者执行该语言。不熟悉SharpDevelop

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31514903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档