blob: 72bdf396d7b53d40306a3a47c0a9e85dc4e07681 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
#! /bin/sh
#file: test-out-grammars.bat
# verify that o2 works against some lr(0), lr(1), and lalr(1) grammars
#o2=/mnt/c2d0s0/yacco2/bin/o2
# parms: -t -err
o2=/usr/local/yacco2/bin/o2
tmp=/tmp/o2
if [ ! -e "$tmp" ]
then
mkdir $tmp
fi
cd $tmp
prt_pdf=0
delete_files=1
cont=n
ccresult=0
sw1=$1
sw2=$2
sw3=$3
sw4=$4
file_no=$((0))
file_pos=$((1))
cc_lex()
{
file_name_only="`basename $2`"
dir_only="`dirname $2`"
#echo "%%%%%%%%%%%%%%%%target directory $dir_only"
eval "$o2 $sw1 $sw2 $sw3 $sw4 $1"
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
for j in $sw1 $sw2 $sw3 $sw4
do
case $j in
*p)
eval "mpost $file_name_only.mp"
eval "cweave $file_name_only.w"
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"
esac
done
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
}
for i in `find /usr/local/yacco2/grammar-testsuite | grep '.*\.lex$'`;
do
echo "==========> Test Grammar to compile: $i"
file_no=$((++file_no))
if test $((file_no)) -ge $((file_pos)); then
file_no_ext=${i%%.*}
cc_lex $i $file_no_ext
fi
done
echo "==========> Run testout program against some data files"
cd /usr/local/yacco2/grammar-testsuite
./testout testout_1.dat
./testout testout_2.dat
./testout testout_3.dat
./testout xxxx
|