Lex:使用起始条件和状态转换保存整个字符串
Lex: Saving entire string using starting condition and state transition
我想知道是否可以在 lex 中保存从开始条件到最终状态的整个输入。
例如:
%x START
%%
"XXX" BEGIN START;
<START>.
<START>"YYY" {printf("%s", yytext);}
如果我输入类似 XXX some chars YYY
的内容,将打印 YYY
,但我希望它打印 XXX some chars YYY
。有没有办法在 lex 中做到这一点?
从开始条件中的每个动作调用yymore()
,最后一个动作除外。 yymore()
表示还有更多token要来;它导致扫描仪不重置令牌
起点.
我想知道是否可以在 lex 中保存从开始条件到最终状态的整个输入。
例如:
%x START
%%
"XXX" BEGIN START;
<START>.
<START>"YYY" {printf("%s", yytext);}
如果我输入类似 XXX some chars YYY
的内容,将打印 YYY
,但我希望它打印 XXX some chars YYY
。有没有办法在 lex 中做到这一点?
从开始条件中的每个动作调用yymore()
,最后一个动作除外。 yymore()
表示还有更多token要来;它导致扫描仪不重置令牌
起点.