[讨论] 抓不到ID...

楼主: finalwave (吃火球赚钱)   2007-05-27 14:35:43
目前在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?
是哪里写错了吗?
有人可以帮我看一下吗><
作者: sophialiege (with friends)   2007-05-27 16:34:00
@@ 看不出哪里错...
作者: nameofevil (雄友一组)   2007-05-27 16:36:00
我也遇过类似的问题呢@__@ 后来就先放弃了~"~
作者: sophialiege (with friends)   2007-05-27 16:43:00
寄一份档案来给我测试看看吧!?
楼主: finalwave (吃火球赚钱)   2007-05-27 17:10:00
要寄到哪里?
作者: sophialiege (with friends)   2007-05-27 17:49:00
comp07@csie.ntu.edu.tw

Links booklink

Contact Us: admin [ a t ] ucptt.com