gpt4 book ai didi

flex-lexer - Flex yylineno设置为1

转载 作者:行者123 更新时间:2023-12-03 13:20:44 24 4
gpt4 key购买 nike

我正在为tcpdump日志编写一个简单的解析器,能否请您告诉我为什么我无法获得正确的行号?

%{
char str[80];
%}
%option yylineno

...
%%

^{HOURS}:{MINUTES}:{MINUTES} if(input()=='.') { strcpy(str, yytext); BEGIN(A); } else {printf("Wrong hour %d", yylineno); }
<A>({NDPS}|{DPS})\.({NDPS}|{DPS})\.({NDPS}|{DPS})|\.{NDPS} printf("Wrong IP!, %d", yylineno);
<A>[ ]{DPS}\.{DPS}\.{DPS}\.{DPS} strcat(str, " from "); strcat(str, yytext+1); BEGIN(B);
...

最佳答案

当我尝试此操作时,事实证明我必须有一个实际上与换行符匹配的规则才能更新yylineno。遵循以下规则,它可以正常工作;没有它,yylineno永远不会改变:

\n { }

关于flex-lexer - Flex yylineno设置为1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13317634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com