如何阻止 Latex 为每个规则输出空格到标准输出
How to stop Lex from outputing whitespace to stdout for every rule
在我的 .l 文件中,我使用正则表达式设置了几个规则,如下所示
%{
#include <string.h>
%}
%%
[0-9]* {string.append("something");
return 1;}
[^\n]* /*ignore*/
鉴于上面的代码,程序每次运行时都会向终端生成白色 space。
如果你想忽略空格,忽略空格:) :
[[:space:]]+ ;
(这也会忽略换行符,因此您可以使用它代替换行符规则。)
默认情况下,(f)lex 对任何无法识别的字符使用默认规则 ECHO;
。如果这不是您想要的(通常不包括换能器),则将
%option nodefault
在您的序言中,如果有任何模式可能与您的规则之一不匹配,flex 会警告您。
在我的 .l 文件中,我使用正则表达式设置了几个规则,如下所示
%{
#include <string.h>
%}
%%
[0-9]* {string.append("something");
return 1;}
[^\n]* /*ignore*/
鉴于上面的代码,程序每次运行时都会向终端生成白色 space。
如果你想忽略空格,忽略空格:) :
[[:space:]]+ ;
(这也会忽略换行符,因此您可以使用它代替换行符规则。)
默认情况下,(f)lex 对任何无法识别的字符使用默认规则 ECHO;
。如果这不是您想要的(通常不包括换能器),则将
%option nodefault
在您的序言中,如果有任何模式可能与您的规则之一不匹配,flex 会警告您。