#! /bin/sh # file: o2_testsuite3.bat # test suite for o2 echo "////////////////////////////////////////" echo "////////////o2_testsuite_lrness.bat////////////" echo "////////////////////////////////////////" qa="/usr/local/yacco2/qa/" o2=/usr/local/yacco2/bin/o2 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 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 $1" eval "$o2 $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 $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"lr1_sp6.lex "$qa"lr1_sp6 cc_lex "$qa"lalr1_dp1.lex "$qa"lalr1_dp1 cc_lex "$qa"lr1_pa2.lex "$qa"lr1_pa2 cc_lex "$qa"lr1_tst.lex "$qa"lr1_tst cc_lex "$qa"knu1.lex "$qa"knu1