The "name-prefix" directive is obsolete, and Bison 3 no longer adds missing semicolons to actions. Index: src/xmlpars.y =================================================================== --- src/xmlpars.y.orig +++ src/xmlpars.y @@ -73,7 +73,7 @@ handle_attribute(xpkg_pkg_t pkg, const c %} %locations -%name-prefix="xpkgxml" +%define api.prefix {xpkgxml} %debug %union { char *string; xpkg_item_t xitem; xpkg_items_t xitems; long number; }; %token ATTR XPKG NAME VERS REVI REQU PROV ITEM MINO MAJO @@ -115,7 +115,7 @@ items: items aitem { LIST_INSERT_H | aitem { xpkg_items_t i = items_create(); LIST_INSERT_HEAD(i, $1, entries); $$=i; }; ; -aitem: '<' ITEM '>' aitem_m '/' ITEM '>' { $$ = $4 } +aitem: '<' ITEM '>' aitem_m '/' ITEM '>' { $$ = $4; } ; aitem_m : name major minor { $$ = item_create($1, $2, $3); FREE($1); }