#------------------------------------------------------------------------------
# generate ASCII from /usr/pub/ascii
# afb 6/89
#------------------------------------------------------------------------------

	infile=/usr/pub/ascii

	date=`date +'AFB %m/%y' | sed 's/AFB 0\([0-9]\)/ AFB \1/`

[ -r ASCII.od ] && cp ASCII.od old

{	echo '(* Oberon Library     - Sun 3 Workstation -    '"$date"' *)'
	echo '(* (c) University of Ulm, Sektion Informatik, D-7900 Ulm *)'
	echo; echo 'DEFINITION ASCII;'; echo; echo '   CONST'
	echo; echo '      (* control characters *)'
	{	echo 'MODULE ASCII; CONST'
		sed '1,/^$/d' $infile | tr '|' '\012' | sed '/^ *$/d' |
		grep '[a-z][a-z][a-z0-9]*' |
		sed 's/ \([0-9a-f][0-9a-f]\) \([a-z][a-z0-9]*\)/\2 = 0\1H;/' |
	        sed 's/aH/AH/
		     s/bH/BH/
		     s/cH/CH/
		     s/dH/DH/
		     s/eH/EH/
		     s/fH/FH/'
		echo 'END ASCII.'
	} | m2b | grep '=' | sed 's/^  *//' | tr H X |
	pr -5 -t -l1 | detab | sed 's/^/      /'
	echo
	{	d1=0 d2=1
		for ch in A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
		do
			echo 'Ctrl'$ch = ${d1}${d2}X';'
			case $d2
			in [0-9A-E])	d2=`echo $d2 |
					tr '[0-9][A-E]' '[1-9][A-F]'`
			;; F)		d2=0; d1=`expr $d1 + 1`
			esac
		done
	} | pr -5 -t -l1 | detab | sed 's/^/      /'
	echo;
	echo '      (* other usual names *)'
	echo '      EOL = nl;'
	echo '      null = nul;'
	echo '      bell = bel;'
	echo '      tab = ht;'
	echo '      lf = nl;'
	echo '      ff = np;'
	echo '      quote = 22X;'
	echo; echo 'END ASCII.'
} >ASCII.od && sed 's/DEFINITION/MODULE/' <ASCII.od >ASCII.om
