[1613] はじめまして
投稿者:チャチャ丸
2010/08/18 02:34:17
はじめまして。「プログラミング言語を作る」を読み初めて勉強中のチャチャ丸と申します。
まだまだ序盤なのですが質問があって投稿させてもらいました。
今2章のyacc/lexで電卓を作る部分で、とりあえずmycalc.yとmycalc.lを模写して実行したのですが、
"cc -o mycalc y.tab.c lex.yy.c"のコマンドを行うとエラーが出ます。
エラーの内容は-Wallで見たところ
y.tab.c: In function 'yyparse' :
y.tab.c:1270: warning: implicit declaration of function 'yylex'
y.tab.c:1439: warning: implicit declaration of function 'yyerror'
lex.yy.c:1120: warning: 'yyunput' defined but not used
lex.yy.c:1163: warning: 'input' defined but not used
(以下略)
と表示されます。
y.tab.cを見てみたところ622行目から
#ifdef YYLEX_PARAM
# define YYLEX yylex (YYLEX_PARAM)
#else
# define YYLEX yylex ()
#endif
という部分があったのでyylexは定義されているように思えるのですが、なにが原因なのでしょうか?
ちなみにcygwinを利用しています。
何かお答えいただければ幸いです。よろしくお願いします。