0
所以,我遇到了問題,我的解析器與我編譯的編譯器。錯誤是說我沒有一個工會或結構內的成員,它是。這是我收到的錯誤代碼:解析器錯誤與聯盟結構
parser.y:123: error: request for member ‘funcName’ in something not a structure or union
與我parser.y文件中的代碼
然後:
%union {
int val;
char *funcName;
}
%token <funcName> ID
,這裏是哪裏,我嘗試使用工會我parser.y文件:
f_def: FUNCTION ID '(' arg_list ')' ':' type '{' stat_list '}'
{create_function_info_item(&headFunctionInfo, func_arg_list_count(), $2.funcName);}
我還是有點困惑。我只是想傳遞函數名稱的$ 2字符。因爲我正在構建一個包含所有函數信息的結構來檢查我的.c文件中的內容。 – pmac89
@ pmac89我在說'$ 2'包含函數名,它是一個'char *'。然後你在'char *'上調用'.funcName',這是一個類型錯誤。正如我所說的,解決方案是不使用'.funcName'。 – sepp2k
啊,謝謝。這工作。 – pmac89