123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #!/bin/sh
- hxtoh()
- {
- flag=1
- while read -r str; do
- case $str in
- HXCOMM*)
- ;;
- STEXI*|ETEXI*) flag=$(($flag^1))
- ;;
- *)
- test $flag -eq 1 && printf "%s\n" "$str"
- ;;
- esac
- done
- }
- print_texi_heading()
- {
- if test "$*" != ""; then
- title="$*"
- printf "@subsection %s\n" "${title%:}"
- fi
- }
- hxtotexi()
- {
- flag=0
- line=1
- while read -r str; do
- case "$str" in
- HXCOMM*)
- ;;
- STEXI*)
- if test $flag -eq 1 ; then
- printf "line %d: syntax error: expected ETEXI, found '%s'\n" "$line" "$str" >&2
- exit 1
- fi
- flag=1
- ;;
- ETEXI*)
- if test $flag -ne 1 ; then
- printf "line %d: syntax error: expected STEXI, found '%s'\n" "$line" "$str" >&2
- exit 1
- fi
- flag=0
- ;;
- DEFHEADING*)
- print_texi_heading "$(expr "$str" : "DEFHEADING(\(.*\))")"
- ;;
- ARCHHEADING*)
- print_texi_heading "$(expr "$str" : "ARCHHEADING(\(.*\),.*)")"
- ;;
- *)
- test $flag -eq 1 && printf '%s\n' "$str"
- ;;
- esac
- line=$((line+1))
- done
- }
- case "$1" in
- "-h") hxtoh ;;
- "-t") hxtotexi ;;
- *) exit 1 ;;
- esac
- exit 0
|