diff options
Diffstat (limited to 'Utilities/Scripts')
-rwxr-xr-x | Utilities/Scripts/regenerate-lexers.bash | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Utilities/Scripts/regenerate-lexers.bash b/Utilities/Scripts/regenerate-lexers.bash new file mode 100755 index 0000000000..22b681faaf --- /dev/null +++ b/Utilities/Scripts/regenerate-lexers.bash @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +set -e + +pushd "${BASH_SOURCE%/*}/../../Source/LexerParser" > /dev/null + +for lexer in \ + CommandArgument \ + DependsJava \ + Expr \ + Fortran +do + echo "Generating Lexer ${lexer}" + flex --nounistd -DFLEXINT_H --noline --header-file=cm${lexer}Lexer.h -ocm${lexer}Lexer.cxx cm${lexer}Lexer.in.l + sed -i 's/\s*$//' cm${lexer}Lexer.h cm${lexer}Lexer.cxx # remove trailing whitespaces + sed -i '${/^$/d;}' cm${lexer}Lexer.h cm${lexer}Lexer.cxx # remove blank line at the end + sed -i '1i#include "cmStandardLexer.h"' cm${lexer}Lexer.cxx # add cmStandardLexer.h include +done + + +# these lexers (at the moment only the ListFileLexer) are compiled as C and do not generate a header +for lexer in ListFile +do + + echo "Generating Lexer ${lexer}" + flex --nounistd -DFLEXINT_H --noline -ocm${lexer}Lexer.c cm${lexer}Lexer.in.l + sed -i 's/\s*$//' cm${lexer}Lexer.c # remove trailing whitespaces + sed -i '${/^$/d;}' cm${lexer}Lexer.c # remove blank line at the end + sed -i '1i#include "cmStandardLexer.h"' cm${lexer}Lexer.c # add cmStandardLexer.h include + +done + +popd > /dev/null |