summaryrefslogtreecommitdiff
path: root/src/webidl-parser.y
diff options
context:
space:
mode:
authorVincent Sanders <vincent.sanders@collabora.co.uk>2012-09-07 16:51:43 +0100
committerVincent Sanders <vincent.sanders@collabora.co.uk>2012-09-07 16:51:43 +0100
commit7ba968e4c33d3a05ff9b23b8e593b400e34a4cad (patch)
treeeb22fdebb318eaa1d0df25a5e2d7518d73aab1e8 /src/webidl-parser.y
parentf60d94623e676bb80670b465b1bed7ad4559581d (diff)
downloadnsgenbind-7ba968e4c33d3a05ff9b23b8e593b400e34a4cad.tar.gz
nsgenbind-7ba968e4c33d3a05ff9b23b8e593b400e34a4cad.tar.bz2
fixup error reporting to give linenumber
Diffstat (limited to 'src/webidl-parser.y')
-rw-r--r--src/webidl-parser.y14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/webidl-parser.y b/src/webidl-parser.y
index c4e25f1..1a40e41 100644
--- a/src/webidl-parser.y
+++ b/src/webidl-parser.y
@@ -14,11 +14,11 @@
#include "webidl-parser.h"
#include "webidl-lexer.h"
-
+char *errtxt;
static void webidl_error(const char *str)
{
- fprintf(stderr,"error: %s\n",str);
+ errtxt = strdup(str);
}
int webidl_wrap()
@@ -26,12 +26,11 @@ int webidl_wrap()
return 1;
}
-
-
%}
%locations
%define api.pure
+%error-verbose
/* the w3c grammar results in 10 shift/reduce, 2 reduce/reduce conflicts
* The reduce/reduce error are both the result of empty sequences
@@ -118,6 +117,13 @@ Definitions:
/* empty */
|
ExtendedAttributeList Definition Definitions
+ |
+ error ';'
+ {
+ fprintf(stderr, "%d: %s\n", yylloc.first_line, errtxt);
+ free(errtxt);
+ YYABORT ;
+ }
;
/* [2] */