我有一个语法规则,ANTLR:获取令牌名称?
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”呢?
宾果!`Console.WriteLine(ExpressionParser.tokenNames [tree.Type]);``int`存储在`tree.Type`中,“dict”存储在`___ Parser.tokenNames`中。 – mpen 2010-12-09 23:20:15