寻找用于使用intellisense构建基于ANTLR4语法的代码编辑器的示例。SharpDevelop提供了所有的代码编辑器特性,但是如果我们需要提供intellisense和代码完成细节,那么我们需要编写自己的解析器。
需要示例,其中ANTLR4,SharpDevelop用于构建自定义语言的代码编辑器。
谢谢。
发布于 2015-07-29 10:36:41
我可以使用监听器中的ANTLR4 API从GetExpectedTokensWithinRule获取预期的令牌,并将它们转换为令牌。
伪代码如下所示
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);
}
}}
发布于 2015-07-25 23:55:28
我在CodeEditor中使用了Jide antlr4,它似乎工作正常,但花了一些时间才把它整合在一起。我将生成用于解析器突出显示的错误和关键字。我使用侦听器进行解析等,并使用访问者执行该语言。不熟悉SharpDevelop
https://stackoverflow.com/questions/31514903
复制相似问题