嗨有以下代码
%s expectWord
%%
<expectWord>"and"+{word} { BEGIN( INITIAL );}
<expectWord>["and"]* { /* Skip */;}
"and" { BEGIN( expectWordAfterAND ); return AND; }
该代码应该检查用户是否输入了“and”,如果他们输入了,那么如果用户在此之后输入了多个 and,它们将被忽略,当最终有一个单词时,该单词将被返回。所以如果用户输入:a and and and and and and b,词法分析器应该返回:a and b。所以只有一个,将被退回。
现在,它正在返回:a b。如何修复此代码?
谢谢