#! /bin/sh
# file: QA_alltests1.bat
echo "////////////////////////////////////////"
echo "////////////QA_alltests1.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_sp2.lex   "$qa"lr1_sp2
cc_lex   "$qa"lr1_sp3.lex   "$qa"lr1_sp3
cc_lex   "$qa"lr1_sp4.lex   "$qa"lr1_sp4
cc_lex   "$qa"lr1_sp5.lex   "$qa"lr1_sp5
cc_lex   "$qa"lr1_sp6.lex   "$qa"lr1_sp6
cc_lex   "$qa"lalr1_dp1.lex   "$qa"lalr1_dp1
cc_lex   "$qa"lalr1_dp2.lex   "$qa"lalr1_dp2
cc_lex   "$qa"lr1_br1.lex   "$qa"lr1_br1
cc_lex   "$qa"lr1_pa1.lex   "$qa"lr1_pa1
cc_lex   "$qa"lr1_pa2.lex   "$qa"lr1_pa2
cc_lex   "$qa"lr1_tst.lex   "$qa"lr1_tst
cc_lex   "$qa"not_lr1_1.lex   "$qa"not_lr1_1
cc_lex   "$qa"not_lr1_2.lex   "$qa"not_lr1_2
cc_lex   "$qa"test_use_cnt.lex   "$qa"test_use_cnt
cc_lex   "$qa"test_called_thd_fs.lex   "$qa"test_called_thd_fs
cc_lex   "$qa"rule7.dat   "$qa"rule7
cc_lex   "$qa"knu1.lex   "$qa"knu1
cc_lex   "$qa"lr1_sp6.lex   "$qa"lr1_sp6
cc_lex   "$qa"knu1_sick.lex   "$qa"knu1_sick
