splitting.
svn path=/trunk/yasm/; revision=307
/* directives */
directive: '[' DIRECTIVE_NAME DIRECTIVE_VAL ']' {
nasm_parser_directive($2, $3);
+ xfree($2);
+ xfree($3);
}
| '[' DIRECTIVE_NAME DIRECTIVE_VAL error {
Error(_("missing `%c'"), ']');
+ xfree($2);
+ xfree($3);
}
| '[' DIRECTIVE_NAME error {
Error(_("missing argument to `%s'"), $2);
+ xfree($2);
}
;
/* directives */
directive: '[' DIRECTIVE_NAME DIRECTIVE_VAL ']' {
nasm_parser_directive($2, $3);
+ xfree($2);
+ xfree($3);
}
| '[' DIRECTIVE_NAME DIRECTIVE_VAL error {
Error(_("missing `%c'"), ']');
+ xfree($2);
+ xfree($3);
}
| '[' DIRECTIVE_NAME error {
Error(_("missing argument to `%s'"), $2);
+ xfree($2);
}
;
<DIRECTIVE>[a-z]+ {
BEGIN DIRECTIVE2;
- yylval.str_val = yytext;
+ yylval.str_val = xstrdup(yytext);
return DIRECTIVE_NAME;
}
/* everything printable except for ' ', '[' and ']'. */
<DIRECTIVE2>[!-@a-z\\^-`{|}~]+ {
- yylval.str_val = yytext;
+ yylval.str_val = xstrdup(yytext);
return DIRECTIVE_VAL;
}
<DIRECTIVE>. {
/* directives */
directive: '[' DIRECTIVE_NAME DIRECTIVE_VAL ']' {
nasm_parser_directive($2, $3);
+ xfree($2);
+ xfree($3);
}
| '[' DIRECTIVE_NAME DIRECTIVE_VAL error {
Error(_("missing `%c'"), ']');
+ xfree($2);
+ xfree($3);
}
| '[' DIRECTIVE_NAME error {
Error(_("missing argument to `%s'"), $2);
+ xfree($2);
}
;
/* directives */
directive: '[' DIRECTIVE_NAME DIRECTIVE_VAL ']' {
nasm_parser_directive($2, $3);
+ xfree($2);
+ xfree($3);
}
| '[' DIRECTIVE_NAME DIRECTIVE_VAL error {
Error(_("missing `%c'"), ']');
+ xfree($2);
+ xfree($3);
}
| '[' DIRECTIVE_NAME error {
Error(_("missing argument to `%s'"), $2);
+ xfree($2);
}
;
<DIRECTIVE>[a-z]+ {
BEGIN DIRECTIVE2;
- yylval.str_val = yytext;
+ yylval.str_val = xstrdup(yytext);
return DIRECTIVE_NAME;
}
/* everything printable except for ' ', '[' and ']'. */
<DIRECTIVE2>[!-@a-z\\^-`{|}~]+ {
- yylval.str_val = yytext;
+ yylval.str_val = xstrdup(yytext);
return DIRECTIVE_VAL;
}
<DIRECTIVE>. {