[Cmake-commits] CMake branch, master, updated. v3.11.1-818-gacb9710

Kitware Robot kwrobot at kitware.com
Wed May 16 11:55:05 EDT 2018


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, master has been updated
       via  acb97101628d900aca9bfc869f168c1f2bd1de30 (commit)
       via  7a33cfc1bce0a4946da166327515557b48d3a2ea (commit)
       via  3d382a494fd8d4aad1a4206559c316138441098d (commit)
       via  5cd9f5c9656660bbe1995ab308f7d322226536a5 (commit)
      from  9d143ce38cca0f8631655f5c19c8d454359ebb6f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=acb97101628d900aca9bfc869f168c1f2bd1de30
commit acb97101628d900aca9bfc869f168c1f2bd1de30
Merge: 9d143ce 7a33cfc
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed May 16 15:53:49 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed May 16 11:53:54 2018 -0400

    Merge topic 'regenerate-lexer-parser'
    
    7a33cfc1bc regenerate-parsers.bash: Add script to automate parser generation
    3d382a494f regenerate-lexers.bash: Add option to check timestamps
    5cd9f5c965 regenerate-lexers.bash: Factor file names into variables
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !2081


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7a33cfc1bce0a4946da166327515557b48d3a2ea
commit 7a33cfc1bce0a4946da166327515557b48d3a2ea
Author:     Daniel Franke <franke at edf-online.de>
AuthorDate: Wed May 9 10:11:57 2018 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed May 16 11:47:44 2018 -0400

    regenerate-parsers.bash: Add script to automate parser generation
    
    This depends on
    
    - a suitable flex version in PATH (currently 3.0.4)
    - a suitable version of 'sed' in PATH (e.g. GNU sed)

diff --git a/Utilities/Scripts/regenerate-parsers.bash b/Utilities/Scripts/regenerate-parsers.bash
new file mode 100755
index 0000000..6fb35c0
--- /dev/null
+++ b/Utilities/Scripts/regenerate-parsers.bash
@@ -0,0 +1,37 @@
+#!/usr/bin/env bash
+
+set -e
+
+forced=1
+if [[ "${1}" = "make" ]]; then
+    forced=0
+fi
+
+pushd "${BASH_SOURCE%/*}/../../Source/LexerParser" > /dev/null
+
+for parser in            \
+    CommandArgument     \
+    DependsJava         \
+    Expr                \
+    Fortran
+do
+    in_file=cm${parser}Parser.y
+    cxx_file=cm${parser}Parser.cxx
+    h_file=cm${parser}ParserTokens.h
+    prefix=cm${parser}_yy
+
+    if [[ (${in_file} -nt ${cxx_file}) || (${in_file} -nt ${h_file}) || (${forced} -gt 0) ]]; then
+        echo "Generating Parser ${parser}"
+          bison --yacc --name-prefix=${prefix} --defines=${h_file} -o${cxx_file}  ${in_file}
+          sed -i '/\/\* Else will try to reuse/ i\
+#if 0
+/^yyerrlab1:/ a\
+#endif
+' ${cxx_file}
+    else
+        echo "Skipped generating Parser ${parser}"
+    fi
+done
+
+
+popd > /dev/null

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3d382a494fd8d4aad1a4206559c316138441098d
commit 3d382a494fd8d4aad1a4206559c316138441098d
Author:     Daniel Franke <franke at edf-online.de>
AuthorDate: Wed May 9 10:11:57 2018 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed May 16 11:47:41 2018 -0400

    regenerate-lexers.bash: Add option to check timestamps

diff --git a/Utilities/Scripts/regenerate-lexers.bash b/Utilities/Scripts/regenerate-lexers.bash
index 85cfd80..b09f25b 100755
--- a/Utilities/Scripts/regenerate-lexers.bash
+++ b/Utilities/Scripts/regenerate-lexers.bash
@@ -2,6 +2,11 @@
 
 set -e
 
+forced=1
+if [[ "${1}" = "make" ]]; then
+    forced=0
+fi
+
 pushd "${BASH_SOURCE%/*}/../../Source/LexerParser" > /dev/null
 
 for lexer in            \
@@ -14,11 +19,15 @@ do
     h_file=cm${lexer}Lexer.h
     in_file=cm${lexer}Lexer.in.l
 
+    if [[ (${in_file} -nt ${cxx_file}) || (${in_file} -nt ${h_file}) || (${forced} -gt 0) ]]; then
     echo "Generating Lexer ${lexer}"
-    flex --nounistd -DFLEXINT_H --noline --header-file=${h_file} -o${cxx_file} ${in_file}
-    sed -i 's/\s*$//'                       ${h_file} ${cxx_file}   # remove trailing whitespaces
-    sed -i '${/^$/d;}'                      ${h_file} ${cxx_file}   # remove blank line at the end
-    sed -i '1i#include "cmStandardLexer.h"' ${cxx_file}             # add cmStandardLexer.h include
+        flex --nounistd -DFLEXINT_H --noline --header-file=${h_file} -o${cxx_file} ${in_file}
+        sed -i 's/\s*$//'                       ${h_file} ${cxx_file}   # remove trailing whitespaces
+        sed -i '${/^$/d;}'                      ${h_file} ${cxx_file}   # remove blank line at the end
+        sed -i '1i#include "cmStandardLexer.h"' ${cxx_file}             # add cmStandardLexer.h include
+    else
+        echo "Skipped generating Lexer ${lexer}"
+    fi
 done
 
 
@@ -28,11 +37,15 @@ do
     c_file=cm${lexer}Lexer.c
     in_file=cm${lexer}Lexer.in.l
 
-    echo "Generating Lexer ${lexer}"
-    flex --nounistd -DFLEXINT_H --noline -o${c_file} ${in_file}
-    sed -i 's/\s*$//'                       ${c_file}   # remove trailing whitespaces
-    sed -i '${/^$/d;}'                      ${c_file}   # remove blank line at the end
-    sed -i '1i#include "cmStandardLexer.h"' ${c_file}   # add cmStandardLexer.h include
+    if [[ (${in_file} -nt ${c_file}) || (${forced} -gt 0) ]]; then
+        echo "Generating Lexer ${lexer}"
+        flex --nounistd -DFLEXINT_H --noline -o${c_file} ${in_file}
+        sed -i 's/\s*$//'                       ${c_file}   # remove trailing whitespaces
+        sed -i '${/^$/d;}'                      ${c_file}   # remove blank line at the end
+        sed -i '1i#include "cmStandardLexer.h"' ${c_file}   # add cmStandardLexer.h include
+    else
+        echo "Skipped generating Lexer ${lexer}"
+    fi
 
 done
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5cd9f5c9656660bbe1995ab308f7d322226536a5
commit 5cd9f5c9656660bbe1995ab308f7d322226536a5
Author:     Daniel Franke <franke at edf-online.de>
AuthorDate: Wed May 9 10:11:57 2018 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed May 16 11:47:37 2018 -0400

    regenerate-lexers.bash: Factor file names into variables

diff --git a/Utilities/Scripts/regenerate-lexers.bash b/Utilities/Scripts/regenerate-lexers.bash
index 22b681f..85cfd80 100755
--- a/Utilities/Scripts/regenerate-lexers.bash
+++ b/Utilities/Scripts/regenerate-lexers.bash
@@ -10,23 +10,29 @@ for lexer in            \
     Expr                \
     Fortran
 do
+    cxx_file=cm${lexer}Lexer.cxx
+    h_file=cm${lexer}Lexer.h
+    in_file=cm${lexer}Lexer.in.l
+
     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
+    flex --nounistd -DFLEXINT_H --noline --header-file=${h_file} -o${cxx_file} ${in_file}
+    sed -i 's/\s*$//'                       ${h_file} ${cxx_file}   # remove trailing whitespaces
+    sed -i '${/^$/d;}'                      ${h_file} ${cxx_file}   # remove blank line at the end
+    sed -i '1i#include "cmStandardLexer.h"' ${cxx_file}             # 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
+    c_file=cm${lexer}Lexer.c
+    in_file=cm${lexer}Lexer.in.l
 
     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
+    flex --nounistd -DFLEXINT_H --noline -o${c_file} ${in_file}
+    sed -i 's/\s*$//'                       ${c_file}   # remove trailing whitespaces
+    sed -i '${/^$/d;}'                      ${c_file}   # remove blank line at the end
+    sed -i '1i#include "cmStandardLexer.h"' ${c_file}   # add cmStandardLexer.h include
 
 done
 

-----------------------------------------------------------------------

Summary of changes:
 Utilities/Scripts/regenerate-lexers.bash  |   39 +++++++++++++++++++++--------
 Utilities/Scripts/regenerate-parsers.bash |   37 +++++++++++++++++++++++++++
 2 files changed, 66 insertions(+), 10 deletions(-)
 create mode 100755 Utilities/Scripts/regenerate-parsers.bash


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list