我有一個逗號分隔的列表下面的語法與至少一個項目:Flex/Bison:錯誤恢復析構函數?
column_expression_list:
column_expression {
$$ = LinkedList_New();
LinkedListItem *item = LinkedListItem_New($1);
LinkedList_add($$, item);
}
|
column_expression_list T_COMMA column_expression {
LinkedListItem *item = LinkedListItem_New($3);
LinkedList_add($1, item);
}
;
但想一想:
column_expression error
的$$ = LinkedList_New();
會泄漏。有沒有一種方法可以設置一個析構函數,以便在彈出堆棧的時候?
由於這無關瓦特/ UI框架的Flex我刪除標記,並添加GNU-FLEX [對於詞法分析器] – JeffryHouser