Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

lex と yacc

lex とか yacc くらいは使えるようになっておかないとならないだろう、と思って http://www.linux.or.jp/JF/JFdocs/Lex-YACC-HOWTO.html を読んでたんだけど、http://www.linux.or.jp/JF/JFdocs/Lex-YACC-HOWTO-4.html#ss4.2 がどうしてもコンパイルを通らずに撃沈。

[nuts@aero lex-yacc]$ flex example5.l; bison example5.y; cc lex.yy.c y.tab.c -o example5
example5.l: In function `yylex':
example5.l:6: `yylval' undeclared (first use in this function)
example5.l:6: (Each undeclared identifier is reported only once
example5.l:6: for each function it appears in.)
[nuts@aero lex-yacc]$ 

その前の節に書いてあった対策をしたら今度は……

[nuts@aero lex-yacc]$ flex example5.l; bison example5.y; cc lex.yy.c y.tab.c -o example5
example5.l:4: parse error before `yylval'
example5.l:4: warning: data definition has no type or storage class
[nuts@aero lex-yacc]$ 

間違い探し、もしくは代わりになるチュートリアル求む。