X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=util%2Fepist%2Fepist.y;h=d187e96f0c2f19c5da9222b46b0f83452df40813;hb=b04f5a85d5dd3660207318403cf9e620b48dcc76;hp=c1bf196dcdb748de4156a65d96fc70fd297f515f;hpb=97e86c912ee33e9e75e68f9c193d78879f91d542;p=chaz%2Fopenbox diff --git a/util/epist/epist.y b/util/epist/epist.y index c1bf196d..d187e96f 100644 --- a/util/epist/epist.y +++ b/util/epist/epist.y @@ -1,4 +1,8 @@ %{ +#ifdef HAVE_CONFIG_H +# include "../../config.h" +#endif // HAVE_CONFIG_H + #include #include #include "parser.hh" @@ -20,12 +24,13 @@ void yyerror(const char *c) { %} -%token OBRACE EBRACE SEMICOLON DASH NUMBER QUOTES WORD BINDING +%token OBRACE EBRACE SEMICOLON DASH NUMBER QUOTES WORD BINDING OPTIONS TRUE FALSE %% commands: | commands command + | commands options_block ; command: @@ -48,6 +53,10 @@ chain_command: } ; +options_block: + options_keyword OBRACE options EBRACE + ; + binding: binding_w_modifier bind_key ; @@ -77,6 +86,21 @@ parameter: | NUMBER { ((parser*)parser_obj)->setArgumentNum($1); } | DASH NUMBER { ((parser*)parser_obj)->setArgumentNegNum($2); } | QUOTES { ((parser*)parser_obj)->setArgumentStr($1); } + | TRUE { ((parser*)parser_obj)->setArgumentTrue($1); } + | FALSE { ((parser*)parser_obj)->setArgumentFalse($1); } + ; + +options_keyword: + OPTIONS + ; + +options: + | options option + ; + +option: + WORD parameter SEMICOLON + { ((parser*)parser_obj)->setOption($1); } ; %%