2

我需要打印 javacc 匹配的令牌,但我不知道如何“存储它”。假设我的令牌定义是:

TOKEN :
{
    < BLAH: ["0"-"9"]> 
}

我的 parser.input() 函数是:

void Input():
{}
{ (<BLAH> { System.out.println("I recognize BLAH"); } ) 
}

但是,给定一些输入,比如 5,我真正想要输出的是:

I recognize that BLAH is 5.

有小费吗?谢谢

4

1 回答 1

4

基本上,您在第一个花括号中声明变量并在第二个花括号中使用它们:

void Input():
{ Token t;   }
{ 
   (t=<BLAH> { System.out.println("I recognize BLAH is "  + t.image); } ) 
}
于 2010-01-23T16:24:44.880 回答