我需要“{”将单行。因此,我必须使用识别它的令牌。这是正确的例子:
program
{
或者
program
{
这是不正确的例子:
program {
或者
program
{ sentence;
然后我有一个像这样的令牌:
TOKEN: { < openKey: "{" > {System.out.print(image +"\n");}}
SKIP: { < ( " " | "\r" | "\t" | "\n" )+ > }
但我想不出如何使符号“{”恰好在一个或多个“\n”之间。在认识到它之后,我必须准确地写:
program
{
如果我尝试:
TOKEN: { < openKey: ( " " | "\r" | "\t" | "\n" )+ "{" ( " " | "\r" | "\t" | "\n" )+ > {System.out.print(image +"\n");}}
这会运行,但它会写很多“\n”,就像输入中的一样。