]> Dogcows Code - chaz/openbox/blobdiff - util/epist/epist.y
workaround for swig problem
[chaz/openbox] / util / epist / epist.y
index d956a4cabc02ce835d6b6f2b67610a18f22fa66a..243e416877c5ca8f268efd198c68b2bb00c9d02d 100644 (file)
@@ -1,11 +1,18 @@
 %{
+#ifdef    HAVE_CONFIG_H
+#  include "../../config.h"
+#endif // HAVE_CONFIG_H
+
 #include <stdio.h>
 #include <string.h>
 #include "parser.hh"
     
 #define YYPARSE_PARAM parser_obj
 #define YYSTYPE char*
-    
+
+extern int yylineno;
+extern char *yytext;
+
 extern "C" {
     int yylex();
     int yywrap() {
@@ -13,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
 
 %%
 
@@ -82,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:
This page took 0.021081 seconds and 4 git commands to generate.