X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fparser_proc.y;h=85fac69d8ac37e996d18edb06b7de72cee18db64;hp=f7bec637acac659b4a9dcc7f32e04d1dc0b5956e;hb=7e5e4c6d2b654cfd3737c37e9e1894be43642721;hpb=762750b4a3f4e0471993849c4bd12965f6b62356 diff --git a/src/parser_proc.y b/src/parser_proc.y index f7bec63..85fac69 100644 --- a/src/parser_proc.y +++ b/src/parser_proc.y @@ -11,6 +11,7 @@ %token_prefix PSI_T_ %token_type {PSI_Token *} %token_destructor {free($$);} +%default_destructor {(void)P;} %extra_argument {PSI_Parser *P} /* TOKEN is defined inside syntax_error */ %syntax_error { @@ -83,6 +84,7 @@ decl(decl) ::= decl_abi(abi) decl_arg(func) LPAREN decl_args(args) RPAREN EOS. { %type decl_abi {decl_abi*} decl_abi(abi) ::= NAME(T). { abi = init_decl_abi(T->text); + free(T); } %type decl_var {decl_var*} @@ -202,18 +204,23 @@ impl_func(func) ::= FUNCTION REFERENCE NSNAME(NAME) impl_args(args) COLON impl_t %type impl_def_val {impl_def_val*} impl_def_val(def) ::= NULL(T). { def = init_impl_def_val(T); + free(T); } impl_def_val(def) ::= NUMBER(T). { def = init_impl_def_val(T); + free(T); } impl_def_val(def) ::= TRUE(T). { def = init_impl_def_val(T); + free(T); } impl_def_val(def) ::= FALSE(T). { def = init_impl_def_val(T); + free(T); } impl_def_val(def) ::= QUOTED_STRING(T). { def = init_impl_def_val(T); + free(T); } %type impl_var {impl_var*}