summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Beckett <dave@dajobe.org>2017-01-08 13:25:46 -0800
committerDave Beckett <dave@dajobe.org>2017-01-08 13:25:46 -0800
commitf7064a52602b29885d8d803ba2d3c12eeea93c6f (patch)
tree1a3b3ac0807ea99a6d24718265ae86b8b29ccb7b
parent95caa9e92259872945f3e4b7435e261dfb4fba1c (diff)
downloadraptor-f7064a52602b29885d8d803ba2d3c12eeea93c6f.tar.gz
Fixes for newer flex
Testing with flex 2.6.3
-rwxr-xr-xscripts/fix-flex.pl10
-rw-r--r--src/turtle_parser.y1
2 files changed, 9 insertions, 2 deletions
diff --git a/scripts/fix-flex.pl b/scripts/fix-flex.pl
index df5d57ce..dcb38c27 100755
--- a/scripts/fix-flex.pl
+++ b/scripts/fix-flex.pl
@@ -40,12 +40,12 @@ while(<>) {
# Remove generated yy_fatal_error declaration and definition to avoid warnings about unused/non-defined static function
# declaration
- if(/^static void yy_fatal_error\s*\(.*\)\s*\;\s*$/) {
+ if(/^static void( yynoreturn)? yy_fatal_error\s*\(.*\)\s*\;\s*$/) {
$line_offset--; # skipped 1 line
next;
}
# definition
- if(/^static void yy_fatal_error\s*\(.*\)\s*[^\;]\s*$/) {
+ if(/^static void( yynoreturn)? yy_fatal_error\s*\(.*\)\s*[^\;]\s*$/) {
do {
$_=<>;
$line_offset--; # skipped 1 line
@@ -113,6 +113,12 @@ EOT
}
}
+ # Fix ${prefix}_scan_bytes to take a yy_size_t len arg, not int.
+ # declaration
+ s/${prefix}_scan_bytes\s+\( const char \*bytes, int len , yyscan_t yyscanner \);/${prefix}_scan_bytes \( const char \*bytes, yy_size_t len , yyscan_t yyscanner \);/;
+ # definition
+ s/^YY_BUFFER_STATE ${prefix}_scan_bytes\s+\(const char \* yybytes, int _yybytes_len , yyscan_t yyscanner\)/YY_BUFFER_STATE ${prefix}_scan_bytes \(const char \* yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner\)/;
+
if($cur_function eq $prefix."_switch_to_buffer" ||
$cur_function eq $prefix."restart" ||
$cur_function eq $prefix."push_buffer_state") {
diff --git a/src/turtle_parser.y b/src/turtle_parser.y
index 67b9c5b3..ed9e4b9e 100644
--- a/src/turtle_parser.y
+++ b/src/turtle_parser.y
@@ -50,6 +50,7 @@
#include <turtle_parser.h>
#define YY_NO_UNISTD_H 1
+#undef yylex
#include <turtle_lexer.h>
#include <turtle_common.h>