1#!/bin/sh 2 3export LC_COLLATE=C 4 5echo "// string constants" 6echo ' "<unknown-field>",' 7cat $1 | sort -f | uniq | sed 's/^/ \"/; s/$/\",/' 8echo 9 10echo "enum class field : unsigned short" 11echo "{" 12echo " unknown = 0," 13echo 14#cat $1 | uniq | sort -f | sed 's/./\L&/g; s/^/\t/; s/$/,/' 15cat $1 | sort -f | uniq | sed 's/\(.*\)/ \L\1,/; s/-/_/g' 16echo "};" 17echo 18 19echo "// pairs" 20#cat $1 | uniq | sort -f | sed 's/\(.*\)/\tmatch\(field::\L\1, \"\E\1\"\);/; s/-/_/' 21cat $1 | sort -f | uniq | perl -nE 'chomp; $a=lc($_); $a=~s/-/_/g; say " match(field::$a, \"$_\");";' | tr -d "\015" 22 23