我需要打印 javacc 匹配的令牌,但我不知道如何“存储它”。假设我的令牌定义是:
TOKEN :
{
< BLAH: ["0"-"9"]>
}
Run Code Online (Sandbox Code Playgroud)
我的 parser.input() 函数是:
void Input():
{}
{ (<BLAH> { System.out.println("I recognize BLAH"); } )
}
Run Code Online (Sandbox Code Playgroud)
然而,给定一些输入(假设为 5),我真正想要输出的是:
I recognize that BLAH is 5.
Run Code Online (Sandbox Code Playgroud)
有小费吗?谢谢
基本上,您在第一个大括号中声明变量并在第二个大括号中使用它们:
void Input():
{ Token t; }
{
(t=<BLAH> { System.out.println("I recognize BLAH is " + t.image); } )
}
Run Code Online (Sandbox Code Playgroud)