推 ric2k1:上面這行是寫在 lex 還是 yacc? 12/19 20:34
→ ric2k1:(應該是在 lex 吧!?) 12/19 20:37
→ ric2k1:然後你的 yacc "definition section" 的地方記得加上 12/19 20:38
→ ric2k1:union { string *sv; }; 12/19 20:38
→ Neilhahaha:我有加%union那部份還是不行 12/19 20:38
推 ric2k1:lex file 有定義 "static string tempStr;" 嗎? 12/19 20:39
→ ric2k1:(上面 static 是 optional) 12/19 20:39
推 ric2k1:然後 lex 與 yacc 記得用 -o 輸出成 xxx.cpp 12/19 20:40
→ Neilhahaha:還有想問要怎麼做出y.tab.h呢 他只會出現y.tab.c= ='' 12/19 20:41
→ ric2k1:Oh, lex file 開始的地方要 #include <string>, of course 12/19 20:42
→ ric2k1:yacc -d 12/19 20:42
→ ric2k1:就會產生 y.tab.h 12/19 20:43
→ ric2k1:看一下講義 LEX_FLAG = -Pcir YACC_FLAG = -d -p cir 12/19 20:43
推 ric2k1:另外就是你可以用 "info" 這個指令來叫出 lex/yacc/bison 12/19 20:45
→ ric2k1:flex 的 online manual. 像是 "info yacc" 12/19 20:45
推 ric2k1:當然 google 一份 yacc/lex 的 tutorial 可能會比較清楚啦 12/19 20:46
→ ric2k1:(有電子書可以下載) 12/19 20:46
→ Neilhahaha:問題莫名的解決了 好像是我.y檔有錯的關係= ='' 12/19 20:59