我有一个逗号分隔的列表下面的语法与至少一个项目: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