diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2011-10-21 11:18:11 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2011-10-21 11:18:11 +0200 |
commit | 961dd6b19e860f3a47c4435f359f7c372cb03084 (patch) | |
tree | eb744dedc67c8acf6d5e135c115b7428e8b49da6 /tools/sed-enums | |
parent | 3a9ae6b9d5f30898ec06819897145efc475a5625 (diff) | |
download | ffi-efl-961dd6b19e860f3a47c4435f359f7c372cb03084.zip ffi-efl-961dd6b19e860f3a47c4435f359f7c372cb03084.tar.gz |
add comment to sed scripts, fix sed-enum
Diffstat (limited to 'tools/sed-enums')
-rw-r--r-- | tools/sed-enums | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/tools/sed-enums b/tools/sed-enums index ffc193b..14738ac 100644 --- a/tools/sed-enums +++ b/tools/sed-enums @@ -1,17 +1,32 @@ -s/^\s*(typedef)?\s+(enum(\s+\w+)?).*$/typedef \2 { / +# drop if don't start with (typedef)? enum +/^\s*(typedef\s)?\s*enum/ ! b +# +s/^\s*(typedef\s)?\s*(enum(\s+\w+)?).*$/typedef \2 { / +# drop if substitution fail, copy pattern to hold space T;h :attrs;n +# read again if { +/^\s*\{/ b attrs +# append each item s/^\s*([A-Z0-9_]+)(\s*=\s*-?[0-9]+)?.*$/\1\2, / +# goto next if subsitution fails, append pattern, loop T next;H;b attrs :next +# try again if } not found /^\s*\}/ ! b attrs +# read enumeration name s/^\s*}\s*(\w+).*$/ } \1;/ t finish :close +# read the enum typedef s/^\s*typedef\s+enum\s+\w+\s+(\w+)\s*;/ } \1/ +# leave if substitution works, or read next line and retry t finish;n;b close :finish +# append pattern, exchange hold space and pattern space H;x +# remove \n s/\n//g +# replace multi spaces with one s/ {2,}/ /g s/, }/ }/p |