diff options
| author | notin | 2006-03-06 15:07:54 +0000 |
|---|---|---|
| committer | notin | 2006-03-06 15:07:54 +0000 |
| commit | d6d5fd216c5b26cba2cb6f1d273ac3b0d9c359f8 (patch) | |
| tree | 8ad3810cd65ae4b00d8a68ccae6dc8bc19a26292 /dev/doc/check-grammar | |
| parent | a997bda0383b870890c0526996319ba2d44039b4 (diff) | |
Deplacement du répertoire doc dans dev
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@8140 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'dev/doc/check-grammar')
| -rwxr-xr-x | dev/doc/check-grammar | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/dev/doc/check-grammar b/dev/doc/check-grammar new file mode 100755 index 0000000000..67da1bc513 --- /dev/null +++ b/dev/doc/check-grammar @@ -0,0 +1,50 @@ +#!/bin/bash +# This scripts checks that the new grammar of Coq as defined in syntax-v8.tex +# is consistent in the sense that all invoked non-terminals are defined + +defined-nt() { + grep "\\DEFNT{.*}" syntax-v8.tex | sed -e "s|.*DEFNT{\([^}]*\)}.*|\1|"|\ + sort | sort -u +} + +used-nt() { + cat syntax-v8.tex | tr \\\\ \\n | grep "^NT{.*}" |\ + sed -e "s|^NT{\([^}]*\)}.*|\1|" | egrep -v ^\#1\|non-terminal | sort -u +} + +used-term() { + cat syntax-v8.tex | tr \\\\ \\n | grep "^TERM{.*}" |\ + sed -e "s|^TERM{\([^}]*\)}.*|\1|" -e "s|\\$||g" | egrep -v ^\#1\|terminal | sort -u +} + +used-kwd() { + cat syntax-v8.tex | tr \\\\ \\n | grep "^KWD{.*}" |\ + sed -e "s|^KWD{\([^}]*\)}.*|\1|" -e "s|\\$||g" | egrep -v ^\#1 | sort -u +} + +defined-nt > def +used-nt > use +used-term > use-t +used-kwd > use-k +diff def use > df + +############################### +echo +if grep ^\> df > /dev/null 2>&1 ; then + echo Undefined non-terminals: + echo ======================== + echo + grep ^\> df | sed -e "s|^> ||" + echo +fi +if grep ^\< df > /dev/null 2>&1 ; then + echo Unused non-terminals: + echo ===================== + echo + grep ^\< df | sed -e "s|^< ||" + echo +fi +#echo Used terminals: +#echo =============== +#echo +#cat use-t
\ No newline at end of file |
