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
|
#!/bin/sh
# This script counts the references to GDL symbols in all Xconq library games.
savedir=`pwd`
/bin/rm -rf /tmp/xc7
mkdir -p /tmp/xc7/lib
mkdir -p /tmp/xc7/test
# Filter out non-symbol stuff in library and test files.
cd $1/..
for libfile in lib/*.g lib/*.imf test/*.g test/*.imf ; do
sed -e 's/"[^"]*"/ /g' $libfile | sed -e 's/;.*$//g' | tr '() ' '\012' >/tmp/xc7/$libfile
done
# Count uses of keywords.
# We need to be in an empty directory so "m*" doesn't get expanded into
# a list of file names.
if [ ! -d ../empty ] ; then
mkdir ../empty
fi
cd $savedir/../empty
for file in keyword.def action.def history.def plan.def task.def goal.def ; do
for sym in `grep DEF_ $1/../kernel/${file} | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/' | grep -v '^zz-'` ; do
sym=$sym
rslt=`fgrep -c -x ${sym} /tmp/xc7/*/*.g /tmp/xc7/*/*.imf | grep -v ':0$' | sed -e 's/:1$//' | sed -e 's,/tmp/xc7/,,' | tr '\012' ' '`
echo ${sym} ' ' ${file} ' ' ${rslt}
done
done
for file in utype.def mtype.def ttype.def table.def gvar.def ; do
for sym in `grep DEF_ $1/../kernel/${file} | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/' | grep -v '^zz-'` ; do
rslt=`fgrep -c -x ${sym} /tmp/xc7/*/*.g /tmp/xc7/*/*.imf | grep -v ':0$' | sed -e 's/:1$//' | sed -e 's,/tmp/xc7/,,' | tr '\012' ' '`
echo ${sym} ' ' ${file} ' ' ${rslt}
done
done
|