make_field.sh 607 B

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