我正在使用 flex 和 bison 来开发计算器。但是当我想让它成为一个推送解析器时,我得到了以下信息:
"flex" lexer.l
gcc -c -o lex.yy.o lex.yy.c
lexer.l: In function 'main':
lexer.l:29:2: error: unknown type name 'yypstate'
lexer.l:29:15: warning: initialization makes pointer from integer without a cast [enabled by default]
lexer.l:35:24: error: 'YYPUSH_MORE' undeclared (first use in this function)
lexer.l:35:24: note: each undeclared identifier is reported only once for each function it appears in
make: *** [lex.yy.o] Error 1
代码可在https://github.com/dramforever/drcalc (tag u1-push-parse
) 获得。我不会在这里发布它,因为我认为它很烦人。
PS:抱歉英语不好。希望你能理解。