对于包含至少一项的逗号分隔列表,我有以下语法:
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();
泄漏。有没有一种方法可以设置一个析构函数,当它从堆栈中弹出时?