int r = pakfire_parser_new_declaration(&$$, $1, $4);
if (r)
ABORT;
- }
+ }
;
empty : T_EOL
$$ = pakfire_parser_ref($3);
}
+ | subparser_name T_EOL
+ {
+ char* key;
+ char* value;
+
+ // Create a new parser
+ $$ = pakfire_parser_create(pakfire, NULL, NULL);
+ if (!$$)
+ ABORT;
+
+ pakfire_partition_string($1, ":", &key, &value);
+
+ if (key && value)
+ pakfire_parser_set($$, key, value);
+
+ if (key)
+ free(key);
+ if (value)
+ free(value);
+ }
;
subparser_name : T_SUBPARSER
if (r < 0)
ABORT;
}
+ ;
if_stmt : T_IF T_STRING T_EQUALS T_STRING T_EOL subgrammar else_stmt T_END T_EOL
{