Changeset 3677
- Timestamp:
- 05/10/10 11:28:57 (15 years ago)
- Location:
- issm/trunk/src/c/EnumDefinitions
- Files:
-
- 3 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/EnumDefinitions/SynchronizeMatlabEnum.sh
r3674 r3677 11 11 cat EnumDefinitions.h | grep "Enum," |sed -e "s/,//g" | awk '{ printf "%s %s\n", NR, $0 }' > temp 12 12 13 #Build File AnalysisTypeFromEnum.m13 #Build header of AnalysisTypeFromEnum.m{{{ 14 14 cat <<END > AnalysisTypeFromEnum.m 15 15 function string=AnalysisTypeFromEnum(enum) 16 16 %ANALYSISASENUM - get analysis type from Enum 17 17 % 18 % file generated by src/c/SynchronizeMatlabEnum19 % to be synchronized with the corresponding CEnum20 % located in src/c/EnumDefinitions18 % WARNING: DO NOT MODIFY THIS FILE 19 % this file has been automatically generated by src/c/SynchronizeMatlabEnum 20 % Please read src/c/README for more information 21 21 % 22 22 % Usage: … … 26 26 string='not found'; 27 27 END 28 #}}} 28 29 29 30 #get number of lines in temp … … 39 40 let ENUM=$ENUM-1 40 41 41 #write corresponding Matlab file 42 #print info 42 #print info {{{ 43 43 if [ $i -lt 10 ] 44 44 then … … 55 55 fi 56 56 fi 57 57 #}}} 58 #Add case to matlabenum file{{{ 58 59 cat <<END > $(echo $NAME".m") 59 60 function macro=$(echo $NAME)() 60 61 %$(echo `echo $NAME | sed -e "s/[a-z]/\U&/g"`) - Enum of $(echo `echo $NAME | sed -e "s/Enum//"`) 61 62 % 62 % file generated by src/c/EnumDefinitions/SynchronizeMatlabEnum 63 % WARNING: DO NOT MODIFY THIS FILE 64 % this file has been automatically generated by src/c/SynchronizeMatlabEnum 65 % Please read src/c/README for more information 63 66 % 64 67 % Usage: … … 67 70 macro=$ENUM; 68 71 END 69 70 #update AnalysisTypeFromEnum 72 #}}} 73 #Add case to AnalysisTypeFromEnum file{{{ 71 74 if [ $(echo $NAME | grep AnalysisEnum) ] 72 75 then … … 78 81 END 79 82 fi 83 #}}} 80 84 81 85 #move file to m/enum … … 84 88 done 85 89 86 # end of AnalysisTypeFromEnum90 #Footer of AnalysisTypeFromEnum.m{{{ 87 91 cat <<END >> AnalysisTypeFromEnum.m 88 92 … … 92 96 end 93 97 END 98 #}}} 94 99 95 #clean up 100 #clean up{{{ 96 101 mv AnalysisTypeFromEnum.m $ISSM_DIR/src/m/enum/ 97 102 rm temp 98 99 #print info 103 #}}} 104 #print info{{{ 100 105 printf "\r " 101 106 printf "\rdone!\n" 107 #}}} -
issm/trunk/src/c/EnumDefinitions/SynchronizeStringFromEnum.sh
r3674 r3677 1 1 #!/bin/bash 2 #Synchronize StringFromEnum.cpp from EnumDefinition.h2 #Synchronize EnumAsString.cpp and StringAsEnum.cpp 3 3 4 4 #first remove existing files 5 rm StringFromEnum.cpp 6 rm StringFromEnum.h 5 rm EnumAsString.cpp StringAsEnum.cpp 7 6 8 echo "Synchronizing StringFromEnum..."7 echo "Synchronizing EnumAsString..." 9 8 #Get all lines of EnumDefinitions2.h which hold Enum, | remove all comas | add line number in the first column > put everything in file temp 10 9 cat EnumDefinitions.h | grep "Enum," |sed -e "s/,//g" | awk '{ printf "%s %s\n", NR, $0 }' > temp 11 10 12 #Build File StringFromEnum.h13 cat <<END > StringFromEnum.h11 #Build header of EnumAsString.cpp {{{1 12 cat <<END > EnumAsString.cpp 14 13 /* 15 * \file StringFromEnum.h:14 * \file EnumAsString.cpp: 16 15 * \brief: output string associated with enum 16 * 17 * WARNING: DO NOT MODIFY THIS FILE 18 * this file has been automatically generated by SynchronizeStrings.sh 19 * Please read README for more information 17 20 */ 18 21 19 #ifndef _STRINGFROMENUM_ 20 #define _STRINGFROMENUM_ 22 #include "../shared/shared.h" 23 #include "../include/macros.h" 24 #include "./EnumDefinition.h" 21 25 22 char* StringFromEnum(int en); 23 24 #endif 25 END 26 27 #Build File StringFromEnum.cpp 28 cat <<END > StringFromEnum.cpp 29 /* 30 * \file StringFromEnum.cpp: 31 * \brief: output string associated with enum 32 */ 33 34 #include "./StringFromEnum.h" 35 36 char* StringFromEnum(int en){ 26 char* EnumAsString(int en){ 37 27 38 28 switch(en){ 39 29 40 30 END 31 #}}} 32 #Build header of StringAsEnum.cpp {{{1 33 cat <<END > StringAsEnum.cpp 34 /* 35 * \file StringAsEnum.cpp: 36 * \brief: output enum associated with string 37 * 38 * WARNING: DO NOT MODIFY THIS FILE 39 * this file has been automatically generated by SynchronizeStrings.sh 40 * Please read README for more information 41 */ 42 43 #include "../shared/shared.h" 44 #include "../include/macros.h" 45 #include "./EnumDefinition.h" 46 47 int StringAsEnum(char* name){ 48 49 END 50 #}}} 41 51 42 52 #get number of lines in temp … … 47 57 48 58 #Get name and enum of the line i 49 NAME=$(cat temp | grep "^[ ]*$i " | awk '{printf("%s",$2);}' | sed -e "s/Enum//g"); 59 NAMEENUM=$(cat temp | grep "^[ ]*$i " | awk '{printf("%s",$2);}'); 60 NAME=$(echo $NAMEENUM | sed -e "s/Enum//g") 50 61 ENUM=$i; 51 62 #offset Enum by one (Enum begins with 0 and not 1!) 52 63 let ENUM=$ENUM-1 53 64 54 #print info 65 #print info {{{ 55 66 if [ $i -lt 10 ] 56 67 then … … 67 78 fi 68 79 fi 69 70 #Add c orresponding lines71 cat <<END >> StringFromEnum.cpp72 case $ ENUM :80 #}}} 81 #Add case to EnumAsString.cpp {{{ 82 cat <<END >> EnumAsString.cpp 83 case $NAMEENUM : 73 84 return "$NAME"; 74 85 END 86 #}}} 87 #Add case to StringAsEnum.cpp {{{ 88 if [ $i -eq 1 ] 89 then 90 cat <<END >> StringAsEnum.cpp 91 if (strcmp(name,"$NAME")==0) return $NAMEENUM; 92 END 93 else 94 cat <<END >> StringAsEnum.cpp 95 else if (strcmp(name,"$NAME")==0) return $NAMEENUM; 96 END 97 fi 98 #}}} 99 75 100 done 76 101 77 # end of file78 cat <<END >> StringFromEnum.cpp102 #Add footer of of EnumAsString.cpp{{{1 103 cat <<END >> EnumAsString.cpp 79 104 default : 80 105 ISSMERROR("Enum %i not found",en); … … 82 107 } 83 108 END 109 #}}} 110 #Add footer of of StringAsEnum.cpp{{{1 111 cat <<END >> StringAsEnum.cpp 112 else ISSMERROR("Enum %i not found",en); 84 113 85 #clean up 114 } 115 END 116 #}}} 117 118 #clean up{{{ 86 119 rm temp 87 88 #print info 120 #}}} 121 #print info {{{ 89 122 printf "\r " 90 123 printf "\rdone!\n" 124 #}}}
Note:
See TracChangeset
for help on using the changeset viewer.