diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-10-02 14:43:15 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-10-02 14:43:15 +0000 |
commit | 7581cfdee4001cba719d4d72f8f17f1b4c04ed51 (patch) | |
tree | 69810f27a97c8669a95e717d2fa552dfd1400d37 /src/libexpr/parser.y | |
parent | f316b6c1a91e596b2717bc4db76c6513e3ef5f85 (diff) | |
download | guix-7581cfdee4001cba719d4d72f8f17f1b4c04ed51.tar.gz |
* Hack for Bison 2.3 compatability.
Diffstat (limited to 'src/libexpr/parser.y')
-rw-r--r-- | src/libexpr/parser.y | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/libexpr/parser.y b/src/libexpr/parser.y index dd4d509a45..e4b220e04f 100644 --- a/src/libexpr/parser.y +++ b/src/libexpr/parser.y @@ -2,12 +2,20 @@ %pure-parser %locations %error-verbose +%defines +%no-lines %parse-param { yyscan_t scanner } %parse-param { ParseData * data } %lex-param { yyscan_t scanner } %{ +/* Newer versions of Bison copy the declarations below to + parser-tab.hh, which sucks bigtime since lexer.l doesn't want that + stuff. So allow it to be excluded. */ +#ifndef BISON_HEADER_HACK +#define BISON_HEADER_HACK + #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -75,7 +83,7 @@ static Pos makeCurPos(YYLTYPE * loc, ParseData * data) } -void yyerror(YYLTYPE * loc, yyscan_t scanner, ParseData * data, char * error) +void yyerror(YYLTYPE * loc, yyscan_t scanner, ParseData * data, const char * error) { data->error = (format("%1%, at `%2%':%3%:%4%") % error % data->path % loc->first_line % loc->first_column).str(); @@ -100,7 +108,10 @@ static void freeAndUnprotect(void * p) #define YYMALLOC mallocAndProtect #define YYFREE freeAndUnprotect - + +#endif + + %} %union { |