1
我的問題法如下:有法
LNUM [0-9]+
DNUM([0-9]*"."[0-9]+)|([0-9]+"."[0-9]*)
%%
{LNUM} {
printf("\t");ECHO;printf("\r\n");
}
{DNUM} {
printf("\t");ECHO;printf("\r\n");
}
但事實證明,它只能匹配號碼,如4.12
.2
,不42
,45.
等(這些縮進匹配)
輸出:
1.
1.
.1
.1
12
12
我的目標是匹配整數和浮點數。
這裏有人能告訴我上面有什麼不對嗎?
那是你的完整的LEX文件?你在做什麼來處理空白?你能顯示一個運行lex的確切日誌,然後運行yylex,以及你提供的輸入的確切副本嗎? –
@Ira Baxter,是的,它是**完整的** LEX文件。 – lexer
你能重現嗎? – lexer