#! /bin/sh # file: testdriver_tests.bat # test suite for o2 echo "////////////////////////////////////////" echo "////////////o2testdriver_tests.bat /////" echo "/////// test lexical components of o2///" echo "////////////////////////////////////////" echo "////////////////////////////////////////" testdriver=/usr/local/yacco2/bin/testdriver #o2=/usr/local/yacco2/bin/testdriver qa="/usr/local/yacco2/qa/" tmp=/tmp/o2 if [ ! -e "$tmp" ] then mkdir $tmp fi cd $tmp prt_pdf=0 delete_files=1 #echo '\input eplain' > $tmp/eplain.txt cont=n ccresult=0 sw1=$1 sw2=$2 sw3=$3 sw4=$4 file_no=$((0)) file_pos=$((1)) cc_lex() { echo " =====Grammar=> $1 <===File===" sed -n -f '/usr/local/yacco2/qa/qa_echo.sedt' "$1" | sh file_name_only="`basename $2`" dir_only="`dirname $2`" #echo "%%%%%%%%%%%%%%%%target directory $dir_only" echo " executing command line=>: $o2 $sw1 $sw2 $sw3 $sw4 $1" eval "$testdriver $1" echo "------------------------------------------------" echo " " # once gened is enough for the various T gening sw1= sw2= sw3= sw4= if test $ccresult -eq 1; then echo -n "grammar in error: continue y or n: "; read cont; if test $cont -eq n; then echo "Error in grammar exiting"; exit 1; fi fi if test $prt_pdf -eq 1; then eval "mpost $file_name_only.mp" eval "cweave $file_name_only.w" ##eval "cat eplain.txt $file_name_only.tex > $file_name_only.tex1" eval "pdftex $file_name_only.tex" xref="$file_name_only""_idx" echo "%%%%%%%%%%%%%%%%% index file: $xref to cweave and pdftex" eval "cweave $xref.w" eval "pdftex $xref.tex" pdftops "$file_name_only.pdf" pdftops "$xref"".pdf" fi if test $delete_files -eq 1; then for k in `ls * `; do #echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!Casing on $k" case $k in *.cpp|*.h) eval "cp $k $dir_only/$k"; #echo "-----Copying--------> $k to $dir_only/$k" eval "rm -f $k" ;; *.fsc) eval "cp $k $dir_only/$k"; #echo "-------------> Deleting $k" eval "rm -f $k" ;; *.scn|*.idx|*.log|*.toc) #echo "-------------> Deleting $k" eval "rm -f $k" ;; Err.w|T.w) # error and terminal documents to be cweave then pdftex printed by xpdf #echo "-------------> Deleting $k" #eval "rm -f $k" eof ;; *.w) #echo "-------------> Deleting $k" #eval "rm -f $k" ;; *.tex) #echo "-------------> Deleting $k" eval "rm -f $k" ;; *.mp) #echo "-------------> Deleting $k" eval "rm -f $k" ;; *.tex1) #echo "-------------> Deleting $k" eval "rm -f $k" ;; *.[1-9]) #echo "-------------> Deleting Mpost diagrams $k" eval "rm -f $k" ;; *.[1-9][0-9]*) #echo "-------------> Deleting Mpost diagrams $k" eval "rm -f $k" ;; esac done fi } cc_lex "$qa"unquoted_string.dat "$qa"unquoted_string cc_lex "$qa"xc_str.dat "$qa"xc_str cc_lex "$qa"comment.dat "$qa"comment cc_lex "$qa"comment1.dat "$qa"comment1 cc_lex "$qa"c_literal.dat "$qa"c_literal cc_lex "$qa"c_literal1.dat "$qa"c_literal1 cc_lex "$qa"c_string.dat "$qa"c_string cc_lex "$qa"c_string1.dat "$qa"c_string1 cc_lex "$qa"esc_seq.dat "$qa"esc_seq cc_lex "$qa"identifier.dat "$qa"identifier cc_lex "$qa"keyword.dat "$qa"keyword cc_lex "$qa"keyword1.dat "$qa"keyword1 cc_lex "$qa"angled_string.dat "$qa"angled_string cc_lex "$qa"b.dat "$qa"b cc_lex "$qa"dbl_colon.dat "$qa"dbl_colon cc_lex "$qa"esc_seq.dat "$qa"esc_seq cc_lex "$qa"int_no.dat "$qa"int_no