summaryrefslogtreecommitdiffstats
path: root/Source/cmDependsJavaLexer.in.l
diff options
context:
space:
mode:
authorDaniel Pfeifer <daniel@pfeifer-mail.de>2016-11-26 21:47:00 (GMT)
committerBrad King <brad.king@kitware.com>2016-12-14 14:40:33 (GMT)
commitc5df1f165c7f8f1e31e3144d326c6836af2e678d (patch)
tree58a84dbb41717eb7f49c1ae746b39ed5db37ca26 /Source/cmDependsJavaLexer.in.l
parent1dd3e21a54f684df876da6d778ed04535ebf10ee (diff)
downloadCMake-c5df1f165c7f8f1e31e3144d326c6836af2e678d.zip
CMake-c5df1f165c7f8f1e31e3144d326c6836af2e678d.tar.gz
CMake-c5df1f165c7f8f1e31e3144d326c6836af2e678d.tar.bz2
Regenerate lexer source code
Revise the manual procedure in the `*Lexer.in.l` files. Some of our post-processing steps are no longer necessary with the current set of supported compilers. Some steps changed with newer versions of flex. Then regenerate all lexers with flex version 2.6.1.
Diffstat (limited to 'Source/cmDependsJavaLexer.in.l')
-rw-r--r--Source/cmDependsJavaLexer.in.l30
1 files changed, 12 insertions, 18 deletions
diff --git a/Source/cmDependsJavaLexer.in.l b/Source/cmDependsJavaLexer.in.l
index fcc5693..8cb42b1 100644
--- a/Source/cmDependsJavaLexer.in.l
+++ b/Source/cmDependsJavaLexer.in.l
@@ -3,29 +3,23 @@
file Copyright.txt or https://cmake.org/licensing for details. */
/*
-This file must be translated to C and modified to build everywhere.
+This file must be translated to C++ and modified to build everywhere.
-Run flex like this:
+Run flex >= 2.6 like this:
- flex --prefix=cmDependsJava_yy --header-file=cmDependsJavaLexer.h -ocmDependsJavaLexer.cxx cmDependsJavaLexer.in.l
+ flex --nounistd -DFLEXINT_H --prefix=cmDependsJava_yy --header-file=cmDependsJavaLexer.h -ocmDependsJavaLexer.cxx cmDependsJavaLexer.in.l
-Modify cmDependsJavaLexer.c:
- - remove TABs
- - remove use of the 'register' storage class specifier
- - remove "yyscanner" argument from these methods:
- yy_fatal_error, cmDependsJava_yyalloc, cmDependsJava_yyrealloc, cmDependsJava_yyfree
- - remove all YY_BREAK lines occurring right after return statements
- - change while ( 1 ) to for(;;)
-
-Modify cmDependsJavaLexer.h:
- - remove TABs
- - remove the yy_init_globals function
- - remove the block that includes unistd.h
- - remove #line directives (avoids bogus warning on old Sun)
+Modify cmDependsJavaLexer.cxx:
+ - remove trailing whitespace: sed -i 's/\s*$//' cmDependsJavaLexer.h cmDependsJavaLexer.cxx
+ - remove blank lines at end of file
+ - #include "cmStandardLexer.h" at the top
+ - add cast in yy_scan_bytes for loop condition of _yybytes_len to size_t
*/
-#include "cmStandardLexer.h"
+/* IWYU pragma: no_forward_declare yyguts_t */
+
+#include <iostream>
#include "cmDependsJavaParserHelper.h"
@@ -170,7 +164,7 @@ null { PRIMITIVE; return jp_NULLLITERAL; }
\/\/.*\n { }
[ \f\t\n\r] { }
-. {
+. {
std::cerr << "Unknown character: " << yytext[0]
<< " (" << (int)yytext[0] << ")" << std::endl;
yyextra->Error("Unknown character");