X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=formats%2Fctf%2Fmetadata%2Fctf-parser.y;h=6397f428c99ab196e85202a9077a06b4d105659b;hb=740aad2620e2ea0714b28778b1a47b2b2e1a4760;hp=72b0978e56f814c700e79bd36bb19c18b93c3f56;hpb=5d6c80a595e870ad50118f5efe827cc6cafab5d5;p=babeltrace.git diff --git a/formats/ctf/metadata/ctf-parser.y b/formats/ctf/metadata/ctf-parser.y index 72b0978e..6397f428 100644 --- a/formats/ctf/metadata/ctf-parser.y +++ b/formats/ctf/metadata/ctf-parser.y @@ -65,6 +65,10 @@ BT_HIDDEN int yylex_destroy(yyscan_t yyscanner); BT_HIDDEN void yyrestart(FILE * in_str, yyscan_t scanner); +BT_HIDDEN +int yyget_lineno(yyscan_t yyscanner); +BT_HIDDEN +char *yyget_text(yyscan_t yyscanner); struct gc_string { struct bt_list_head gc; @@ -818,7 +822,9 @@ static int set_parent_node(struct ctf_node *node, BT_HIDDEN void yyerror(struct ctf_scanner *scanner, const char *str) { - fprintf(stderr, "error %s\n", str); + fprintf(stderr, "error at line %d, token \"%s\": %s\n", + yyget_lineno(scanner->scanner), + yyget_text(scanner->scanner), str); } BT_HIDDEN @@ -936,6 +942,7 @@ void ctf_scanner_free(struct ctf_scanner *scanner) %define api.pure /* %locations */ +%error-verbose %parse-param {struct ctf_scanner *scanner} %lex-param {struct ctf_scanner *scanner} /*