我有一个简单的lex文件。
%{
#include <stdio.h>
%}
space_char [ \t\^M]
space {space_char}+
%%
%%
int yywrap(void) {
return 1;
}
int main(void) {
yylex();
return 0;
}
当我使用flex-2.5.35编译此文件时,它会出现以下错误: lex.l:5:坏人物: lex.l:5:名字定义两次
但是,使用flex-2.5.4,它运行良好。 我理解这个错误是由于特殊字符ctrl-m(回车)。我想知道flex-2.5.35是否不支持ctrl-l,ctrl-m等特殊字符?如果是这样,那么替代方式是什么?请注意,我仅限于使用2.5.35。
感谢。
答案 0 :(得分:0)
与C一样,您可以使用\r
作为回车符。