gpt4 book ai didi

c# - ANTLR:获取 token 名称?

转载 作者:可可西里 更新时间:2023-11-01 08:40:02 26 4
gpt4 key购买 nike

我有一个语法规则,

OR
: '|';

但是当我打印 AST 时,

public static void Preorder(ITree tree, int depth)
{
if (tree == null)
{
return;
}

for (int i = 0; i < depth; i++)
{
Console.Write(" ");
}

Console.WriteLine(tree);

for(int i=0; i<tree.ChildCount; ++i)
Preorder(tree.GetChild(i), depth + 1);
}

(感谢 Bart)它显示实际的 | 字符。有什么方法可以让它说“OR”吗?

最佳答案

robert启发了这个答案。

if (ExpressionParser.tokenNames[tree.Type] == tree.Text)
Console.WriteLine(tree.Text);
else
Console.WriteLine("{0} '{1}'", ExpressionParser.tokenNames[tree.Type], tree.Text);

关于c# - ANTLR:获取 token 名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4403878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com