今天yacc死循环,太不让人活了,原因:自定义输入串需要修饰,结束需将返回值置零,自定义输入函数可如下 int my_input(char *psBuffer, int nMaxSize) { static int in=0; if(in!=0) return 0; int n = strlen(g_psMyInputStr); strcpy(psBuffer, g_psMyInputStr); in++; return n; } //*.l文件中 #define YY_NO_UNPUT #undef YY_INPUT #define YY_INPUT(b,r,s) r=my_input(b,s)