From: Michael Tremer Date: Thu, 14 Mar 2019 04:46:27 +0000 (+0000) Subject: libpakfire: parser: Move whitespace handling to variable/value X-Git-Tag: 0.9.28~1285^2~1065 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=37a483061ee3a94ed95bed0d790443283bddc12e;p=pakfire.git libpakfire: parser: Move whitespace handling to variable/value This removes more shift/reduce and reduce/reduce errors Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/parser/grammar.y b/src/libpakfire/parser/grammar.y index 35bc72fcd..fd5535bb8 100644 --- a/src/libpakfire/parser/grammar.y +++ b/src/libpakfire/parser/grammar.y @@ -95,14 +95,14 @@ whitespace : WHITESPACE | /* empty */ ; -variable : WORD +variable : whitespace WORD whitespace { - $$ = $1; + $$ = $2; }; -value : words +value : whitespace words whitespace { - $$ = $1; + $$ = $2; } | /* empty */ { @@ -162,19 +162,21 @@ assignments : assignments assignment_or_empty assignment_or_empty : assignment | empty; -assignment : whitespace variable whitespace ASSIGN whitespace value whitespace NEWLINE +assignment : variable ASSIGN value NEWLINE { - int r = pakfire_parser_add_declaration(pakfire, declarations, $2, $6); + int r = pakfire_parser_add_declaration(pakfire, declarations, $1, $3); if (r < 0) ABORT; } - | whitespace DEFINE WHITESPACE variable NEWLINE text whitespace END NEWLINE + | define WHITESPACE variable NEWLINE text whitespace END NEWLINE { - int r = pakfire_parser_add_declaration(pakfire, declarations, $4, $6); + int r = pakfire_parser_add_declaration(pakfire, declarations, $3, $5); if (r < 0) ABORT; } +define : whitespace DEFINE; + %% static void cleanup(void) {