DRY grammar code

This commit is contained in:
rocky 2018-03-26 11:08:27 -04:00
parent 75245ba38c
commit 1f0e5f27d5
7 changed files with 42 additions and 96 deletions

View File

@ -0,0 +1,2 @@
#!/bin/bash
$SHELL ./grammar.sh 2.4 2.5 2.6 2.7 2.8 3.3 3.4 3.5 3.6

40
test/grammar-cover/grammar.sh Executable file
View File

@ -0,0 +1,40 @@
#!/bin/bash
# Remake Python grammar statistics
typeset -A ALL_VERS=([2.4]=2.4.6 [2.5]=2.5.6 [2.6]=2.6.9 [2.7]=2.7.14 [3.3]=3.3.6 [3.4]=3.4.8 [3.5]=3.5.5 [3.6]=3.6.4)
if (( $# == 0 )); then
echo 1>&2 "usage: $0 two-digit-version"
exit 1
fi
me=${BASH_SOURCE[0]}
workdir=$(dirname $me)
cd $workdir
workdir=$(pwd)
while [[ -n $1 ]] ; do
SHORT_VERSION=$1; shift
LONG_VERSION=${ALL_VERS[$SHORT_VERSION]}
if [[ -z ${LONG_VERSION} ]] ; then
echo 1>&2 "Version $SHORT_VERSION not known"
exit 2
fi
tmpdir=$workdir/../../tmp/grammar-cover
[[ -d $tmpdir ]] || mkdir $tmpdir
cd $workdir/../..
if [[ $SHORT_VERSION > 2.5 ]] ; then
source ./admin-tools/setup-master.sh
else
source ./admin-tools/setup-python-2.4.sh
fi
GRAMMAR_TXT=$tmpdir/grammar-${SHORT_VERSION}.txt
pyenv local ${LONG_VERSION}
cd ./test
if [[ -r $GRAMMAR_TXT ]]; then
GRAMMAR_SAVE_TXT=${tmpdir}/grammar-${SHORT_VERSION}-save.txt
cp $GRAMMAR_TXT $GRAMMAR_SAVE_TXT
fi
make grammar-coverage-${SHORT_VERSION} && \
spark-parser-coverage --path ${tmpdir}/spark-grammar-${SHORT_VERSION}.cover > $GRAMMAR_TXT
done

View File

@ -1,20 +0,0 @@
#!/bin/bash
# Remake Python 2.4 grammar statistics
VERS=24
me=${BASH_SOURCE[0]}
workdir=$(dirname $me)
cd $workdir
workdir=$(pwd)
tmpdir=$workdir/../../tmp/grammar-cover
[[ -d $tmpdir ]] || mkdir $tmpdir
cd $workdir/../..
source ./admin-tools/setup-python-2.4.sh
GRAMMAR_TXT=$tmpdir/grammar-${VERS}.txt
pyenv local 2.4.6
cd ./test
if [[ -r $GRAMMAR_TXT ]]; then
GRAMMAR_SAVE_TXT=${tmpdir}/grammar-${VERS}-save.txt
cp $GRAMMAR_TXT $GRAMMAR_SAVE_TXT
fi
make grammar-coverage-2.4 && \
spark-parser-coverage --path ${tmpdir}/spark-grammar-${VERS}.cover > $GRAMMAR_TXT

View File

@ -1,20 +0,0 @@
#!/bin/bash
# Remake Python 2.6 grammar statistics
VERS=2.6
me=${BASH_SOURCE[0]}
workdir=$(dirname $me)
cd $workdir
workdir=$(pwd)
tmpdir=$workdir/../../tmp/grammar-cover
[[ -d $tmpdir ]] || mkdir -p $tmpdir
cd $workdir/../..
source ./admin-tools/setup-master.sh
GRAMMAR_TXT=$tmpdir/grammar-${VERS}.txt
pyenv local ${VERS}.9
cd ./test
if [[ -r $GRAMMAR_TXT ]]; then
GRAMMAR_SAVE_TXT=${tmpdir}/grammar-${VERS}-save.txt
cp $GRAMMAR_TXT $GRAMMAR_SAVE_TXT
fi
make grammar-coverage-${VERS} && \
spark-parser-coverage --path ${tmpdir}/spark-grammar-${VERS}.cover > $GRAMMAR_TXT

View File

@ -1,18 +0,0 @@
#!/bin/bash
# Remake Python 2.7 grammar statistics
VERS=2.7
me=${BASH_SOURCE[0]}
workdir=$(dirname $me)
cd $workdir
workdir=$(pwd)
tmpdir=$workdir/../../tmp/grammar-cover
[[ -d $tmpdir ]] || mkdir -p $tmpdir
(cd $workdir/../.. && source ./admin-tools/setup-master.sh)
GRAMMAR_TXT=$tmpdir/grammar-${VERS}.txt
pyenv local ${VERS}.14
if [[ -r $GRAMMAR_TXT ]]; then
GRAMMAR_SAVE_TXT=${tmpdir}/grammar-${VERS}-save.txt
cp $GRAMMAR_TXT $GRAMMAR_SAVE_TXT
fi
(cd .. && make grammar-coverage-${VERS} && \
spark-parser-coverage --path ${tmpdir}/spark-grammar-${VERS}.cover > $GRAMMAR_TXT)

View File

@ -1,20 +0,0 @@
#!/bin/bash
# Remake Python 3.3 grammar statistics
VERS=3.3
me=${BASH_SOURCE[0]}
workdir=$(dirname $me)
cd $workdir
workdir=$(pwd)
tmpdir=$workdir/../../tmp/grammar-cover
[[ -d $tmpdir ]] || mkdir $tmpdir
cd $workdir/../..
source ./admin-tools/setup-master.sh
GRAMMAR_TXT=$tmpdir/grammar-${VERS}.txt
pyenv local ${VERS}.6
cd ./test
if [[ -r $GRAMMAR_TXT ]]; then
GRAMMAR_SAVE_TXT=${tmpdir}/grammar-${VERS}-save.txt
cp $GRAMMAR_TXT $GRAMMAR_SAVE_TXT
fi
make grammar-coverage-${VERS} && \
spark-parser-coverage --path ${tmpdir}/spark-grammar-${VERS}.cover > $GRAMMAR_TXT

View File

@ -1,18 +0,0 @@
#!/bin/bash
# Remake Python 3.4 grammar statistics
VERS=3.4
me=${BASH_SOURCE[0]}
workdir=$(dirname $me)
cd $workdir
workdir=$(pwd)
cd $workdir/../..
source ./admin-tools/setup-master.sh
GRAMMAR_TXT=$tmpdir/grammar-${VERS}.txt
pyenv local ${VERS}.8
cd ./test
if [[ -r $GRAMMAR_TXT ]]; then
GRAMMAR_SAVE_TXT=${tmpdir}/grammar-${VERS}-save.txt
cp $GRAMMAR_TXT $GRAMMAR_SAVE_TXT
fi
make grammar-coverage-${VERS} && \
spark-parser-coverage --path ${tmpdir}/spark-grammar-${VERS}.cover > $GRAMMAR_TXT