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 (タグu1-push-parse
) で入手できます。迷惑だと思うのでここには掲載しません。
PS:大丈夫な英語でごめんなさい。あなたが理解することを願って。