blob: 9e0f97b64898ccda4090f56854a46f39bb098d1e (
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
|
#! /bin/sh
# file: o2_testsuite.bat
# test suite for o2
echo "////////////////////////////////////////"
echo "////////////o2_testsuite.bat////////////"
echo "////////////testing syntax part of o2///"
echo "////////////////////////////////////////"
qa="/usr/local/yacco2/qa/"
o2=/usr/local/yacco2/bin/o2
tmp=/tmp/o2
sw1=
sw2=
sw3=
sw4=
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 $sw1 $1"
echo "------------------------------------------------"
echo " "
# once gened is enough for the various T gening
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"fsm_class_phrase4.dat "$qa"fsm_class_phrase4
cc_lex "$qa"fsm_class_phrase5.dat "$qa"fsm_class_phrase5
echo "//////////////////////////////test out cli options/////////////"
echo "bad rc cli switch deprecated"
sw1=-rc
cc_lex "$qa"lr1_sp2.lex "$qa"lr1_sp2
echo "bad lrk cli switch deprecated"
sw1=-lrk
cc_lex "$qa"lr1_sp2.lex "$qa"lr1_sp2
echo "bad prefix cli switch"
sw1=-e
cc_lex "$qa"lr1_sp2.lex "$qa"lr1_sp2
echo "bad prefix cli switch"
sw1=-er
cc_lex "$qa"lr1_sp2.lex "$qa"lr1_sp2
echo "bad too long overrun cli switch"
sw1=-errr
cc_lex "$qa"lr1_sp2.lex "$qa"lr1_sp2
echo "bad cli switch"
sw1=-n
cc_lex "$qa"lr1_sp2.lex "$qa"lr1_sp2
echo "bad cli switch"
sw1=-tT
cc_lex "$qa"lr1_sp2.lex "$qa"lr1_sp2
echo "bad cli switch"
sw1=-lr
cc_lex "$qa"lr1_sp2.lex "$qa"lr1_sp2
echo "bad cli switch --- act as a file name"
sw1=/x
cc_lex "$qa"lr1_sp2.dat "$qa"lr1_sp2
echo "bad cli switch deprecated"
sw1=-pp
cc_lex "$qa"lr1_sp2.lex "$qa"lr1_sp2
cc_lex "$qa"lr1_sp21.lex "$qa"lr1_sp2
echo "all switches good"
sw1="-err -t -p"
echo "//////////////////////////////finished test out cli options/////////////"
sw1=" "
cc_lex "$qa"file_include1.dat "$qa"file_include1
cc_lex "$qa"file_include2.dat "$qa"file_include2
cc_lex "$qa"fsm_class_phrase.dat "$qa"fsm_class_phrase
cc_lex "$qa"fsm_class_phrase1.dat "$qa"fsm_class_phrase1
cc_lex "$qa"fsm_class_phrase2.dat "$qa"fsm_class_phrase2
cc_lex "$qa"fsm_class_phrase3.dat "$qa"fsm_class_phrase3
cc_lex "$qa"fsm_class_phrase4.dat "$qa"fsm_class_phrase4
cc_lex "$qa"fsm_class_phrase5.dat "$qa"fsm_class_phrase5
cc_lex "$qa"fsm_class_phrase6.dat "$qa"fsm_class_phrase6
cc_lex "$qa"fsm_class_phrase7.dat "$qa"fsm_class_phrase7
cc_lex "$qa"fsm_class_phrase8.dat "$qa"fsm_class_phrase8
cc_lex "$qa"fsm_class_phrase9.dat "$qa"fsm_class_phrase9
cc_lex "$qa"fsm_class_phrase10.dat "$qa"fsm_class_phrase10
cc_lex "$qa"fsm_class_phrase11.dat "$qa"fsm_class_phrase11
cc_lex "$qa"fsm_class_phrase12.dat "$qa"fsm_class_phrase12
cc_lex "$qa"fsm_class_phrase13.dat "$qa"fsm_class_phrase13
cc_lex "$qa"fsm_class_phrase14.dat "$qa"fsm_class_phrase14
cc_lex "$qa"fsm_class_phrase15.dat "$qa"fsm_class_phrase15
cc_lex "$qa"rule1.dat "$qa"rule1
cc_lex "$qa"rule2.dat "$qa"rule2
cc_lex "$qa"rule3.dat "$qa"rule3
cc_lex "$qa"rule4.dat "$qa"rule4
cc_lex "$qa"rule5.dat "$qa"rule5
cc_lex "$qa"rule6.dat "$qa"rule6
cc_lex "$qa"rule7.dat "$qa"rule7
cc_lex "$qa"rule8.dat "$qa"rule8
cc_lex "$qa"rule9.dat "$qa"rule9
cc_lex "$qa"rule_test2.dat "$qa"rule_test2
cc_lex "$qa"t_enum.dat "$qa"t_enum
cc_lex "$qa"t_enum1.dat "$qa"t_enum1
cc_lex "$qa"t_enum10.dat "$qa"t_enum10
cc_lex "$qa"t_enum11.dat "$qa"t_enum11
cc_lex "$qa"t_enum2.dat "$qa"t_enum2
cc_lex "$qa"t_enum3.dat "$qa"t_enum3
cc_lex "$qa"t_enum4.dat "$qa"t_enum4
cc_lex "$qa"t_enum5.dat "$qa"t_enum5
cc_lex "$qa"t_enum6.dat "$qa"t_enum6
cc_lex "$qa"t_enum7.dat "$qa"t_enum7
cc_lex "$qa"t_enum8.dat "$qa"t_enum8
cc_lex "$qa"t_enum9.dat "$qa"t_enum9
cc_lex "$qa"term_test1.dat "$qa"term_test1
cc_lex "$qa"term_test2.dat "$qa"term_test2
cc_lex "$qa"term_test3.dat "$qa"term_test3
cc_lex "$qa"term_test4.dat "$qa"term_test4
cc_lex "$qa"term_test5.dat "$qa"term_test5
cc_lex "$qa"term_test6.dat "$qa"term_test6
cc_lex "$qa"term_test7.dat "$qa"term_test7
cc_lex "$qa"term_test8.dat "$qa"term_test8
cc_lex "$qa"term_test9.dat "$qa"term_test9
cc_lex "$qa"parallel_parser1.dat "$qa"parallel_parser1
cc_lex "$qa"parallel_parser2.dat "$qa"parallel_parser2
cc_lex "$qa"fsm_op.dat "$qa"fsm_op
cc_lex "$qa"fsm_op1.dat "$qa"fsm_op1
cc_lex "$qa"fsm_op10.dat "$qa"fsm_op10
cc_lex "$qa"fsm_op2.dat "$qa"fsm_op2
cc_lex "$qa"fsm_op3.dat "$qa"fsm_op3
cc_lex "$qa"fsm_op4.dat "$qa"fsm_op4
cc_lex "$qa"fsm_op5.dat "$qa"fsm_op5
cc_lex "$qa"fsm_op6.dat "$qa"fsm_op6
cc_lex "$qa"fsm_op7.dat "$qa"fsm_op7
cc_lex "$qa"fsm_op8.dat fsm_op8
cc_lex "$qa"fsm_op9.dat "$qa"fsm_op9
cc_lex "$qa"err_sym.dat "$qa"err_sym
cc_lex "$qa"err_sym1.dat "$qa"err_sym1
cc_lex "$qa"err_sym10.dat "$qa"err_sym10
cc_lex "$qa"err_sym11.dat "$qa"err_sym11
cc_lex "$qa"err_sym2.dat "$qa"err_sym2
cc_lex "$qa"err_sym3.dat "$qa"err_sym3
cc_lex "$qa"err_sym4.dat "$qa"err_sym4
cc_lex "$qa"err_sym5.dat "$qa"err_sym5
cc_lex "$qa"err_sym6.dat "$qa"err_sym6
cc_lex "$qa"err_sym7.dat "$qa"err_sym7
cc_lex "$qa"err_sym8.dat "$qa"err_sym8
cc_lex "$qa"err_sym9.dat "$qa"err_sym9
cc_lex "$qa"1.dat "$qa"1
cc_lex "$qa"a.dat "$qa"a
cc_lex "$qa"eol.dat "$qa"eol
cc_lex "$qa"cmd_line.dat "$qa"cmd_line
cc_lex "$qa"cmd_line1.dat "$qa"cmd_line1
cc_lex "$qa"cmd_line2.dat "$qa"cmd_line2
cc_lex "$qa"cmd_line3.dat "$qa"cmd_line3
cc_lex "$qa"cmd_line4.dat "$qa"cmd_line4
|