作者finalwave (小龍)
看板b93902HW
標題[討論] 抓不到ID...
時間Sun May 27 14:35:43 2007
目前在lex中的寫法是
ws [ \t]
digit [0-9]
letter [a-zA-Z_]
number [\-]?{digit}+
%%
[ \t] {}
[\n] {count(); return('\n');}
{number} {return(NUMBER);}
{letter}({letter}|{digit})* {return(ID); }
"VAR" {return(VA);}
"BEGIN" {return(BEG);}
(中間略過)
"(" {return('(');}
")" {return(')');}
. {printf("error token <%s>\n",yytext); return(ERROR);}
這樣寫理論上如果輸入 ASQoswp 不是應該會return(ID)?
但是弄出來卻會顯示
"error token A"
"error token S"
...
"error token p"
也就是對到了 最後一行 沒抓到ID?
是哪裡寫錯了嗎?
有人可以幫我看一下嗎><
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.170.84
推 sophialiege:@@ 看不出哪裡錯... 05/27 16:34
推 nameofevil:我也遇過類似的問題呢@__@ 後來就先放棄了~"~ 05/27 16:36
推 sophialiege:寄一份檔案來給我測試看看吧!? 05/27 16:43
推 finalwave:要寄到哪裡? 05/27 17:10
推 sophialiege:comp07@csie.ntu.edu.tw 05/27 17:49