From: Michael Tremer Date: Fri, 15 Mar 2019 05:16:21 +0000 (+0000) Subject: libpakfire: parser: Add keyword rule which allows keywords to be words X-Git-Tag: 0.9.28~1285^2~1045 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2e08d8979a595b4bdef29fc179ba10c0a5b6af56;p=pakfire.git libpakfire: parser: Add keyword rule which allows keywords to be words Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/parser/grammar.y b/src/libpakfire/parser/grammar.y index 6f193746f..c50ab1e44 100644 --- a/src/libpakfire/parser/grammar.y +++ b/src/libpakfire/parser/grammar.y @@ -64,14 +64,15 @@ char* current_block = NULL; %token T_APPEND %token T_ASSIGN -%token T_DEFINE -%token T_END +%token T_DEFINE +%token T_END %token T_EQUALS %token T_IF %token T_EOL %token T_WORD %type define; +%type keyword; %type line; %type text; %type variable; @@ -110,9 +111,14 @@ value : words $$ = NULL; }; + // XXX T_DEFINE is sort of missing here, but adding it + // generates a highly ambiguous grammar +keyword : T_IF; + // IF can show up in values and therefore this // hack is needed to parse those properly -word : T_WORD | T_IF; +word : T_WORD + | keyword; words : word | words word