-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
- ;;
- SQMP*|EQMP*)
- if test $flag -eq 1 ; then
- printf "line %d: syntax error: expected ETEXI, found '%s'\n" "$line" "$str" >&2
- exit 1
- fi
- ;;
- DEFHEADING*)
- printf '%s\n' "$(expr "$str" : "DEFHEADING(\(.*\))")"
- ;;
- ARCHHEADING*)
- printf '%s\n' "$(expr "$str" : "ARCHHEADING(\(.*\),.*)")"
- ;;
- *)
- test $flag -eq 1 && printf '%s\n' "$str"
- ;;
- esac
- line=$((line+1))
- done
-}
-
-hxtoqmp()
-{
- IFS=
- flag=0
- line=1
- while read -r str; do
- case "$str" in
- HXCOMM*)
- ;;
- SQMP*)
- if test $flag -eq 1 ; then
- printf "line %d: syntax error: expected EQMP, found '%s'\n" "$line" "$str" >&2
- exit 1
- fi
- flag=1
- ;;
- EQMP*)
- if test $flag -ne 1 ; then
- printf "line %d: syntax error: expected SQMP, found '%s'\n" "$line" "$str" >&2
- exit 1
- fi
- flag=0
- ;;
- STEXI*|ETEXI*)
- if test $flag -eq 1 ; then
- printf "line %d: syntax error: expected EQMP, found '%s'\n" "$line" "$str" >&2
- exit 1
- fi
- ;;
- *)
- test $flag -eq 1 && printf '%s\n' "$str"
- ;;
- esac
- line=$((line+1))
- done
-}
-