X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=util%2Fepist%2Fepist.y;h=243e416877c5ca8f268efd198c68b2bb00c9d02d;hb=6ca5c5891a58c616b32b733c99fe373aa58bc360;hp=f91162f74828f8dfe86fad505d737e8744b15e9b;hpb=3a76276faa62aa5ced08bcbcdaa9afe2eade9857;p=chaz%2Fopenbox diff --git a/util/epist/epist.y b/util/epist/epist.y index f91162f7..243e4168 100644 --- a/util/epist/epist.y +++ b/util/epist/epist.y @@ -9,7 +9,10 @@ #define YYPARSE_PARAM parser_obj #define YYSTYPE char* - + +extern int yylineno; +extern char *yytext; + extern "C" { int yylex(); int yywrap() { @@ -17,14 +20,15 @@ extern "C" { } } -void yyerror(const char *c) { - printf("ERROR: %s\n", c); +void yyerror(const char *c) +{ + printf("ERROR: %s, on line %d, near %s\n", c, yylineno, yytext); } - %} -%token OBRACE EBRACE SEMICOLON DASH NUMBER QUOTES WORD BINDING OPTIONS +%token OBRACE EBRACE SEMICOLON DASH NUMBER QUOTES WORD BINDING OPTIONS TRUE FALSE +%expect 1 %% @@ -86,6 +90,8 @@ 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: