master > master: codego -> antlr.jar nicht synchronisieren

This commit is contained in:
RD 2021-05-09 20:15:23 +02:00
parent fa286a6335
commit 56a0770ecb
2 changed files with 20 additions and 5 deletions

1
codego/.gitignore vendored
View File

@ -20,6 +20,5 @@
!/go.sum
## Für Erzeugung von Grammatiken:
!/grammars/antlr.jar
!/grammars/README.md
!/grammars/*.g4

View File

@ -8,10 +8,25 @@
# HILFSMETHODEN
################################
export NULL="/dev/null"
export ANTLR_VESION="4.7";
function call_go() {
go $@;
}
function get_antlr() {
local url="http://www.antlr.org/download/antlr-${ANTLR_VESION}-complete.jar";
( wget $url ) >> $NULL 2> $NULL || (echo -e "[\033[91;1mERROR\033[0m] konnte \033[1;2mwget $url\033[0m nicht ausführen." && exit 1);
while read fname; do
if ! [ "$fname" == "" ] && [ -f "$fname" ]; then
echo -e "\033[92;1mANTLR\033[1m-${ANTLR_VESION}\033[0m wurde heruntergeladen und in \033[1mcodego/grammars\033[0m kopiert.";
mv "$fname" "grammars/antlr.jar"
break
fi
done <<< "$( ls antlr*.jar )"
}
function check_requirements() {
[ -f "go.sum" ] && rm "go.sum";
call_go get "$( cat requirements )";
@ -20,14 +35,15 @@ function check_requirements() {
function precompile_grammars() {
local fname;
local name;
pushd grammars >> /dev/null;
! [ -f "grammars/antlr.jar" ] && get_antlr; # <- lädt antl.jar herunter, wenn fehlt
pushd grammars >> $NULL;
while read fname; do
( [ "$fname" == "" ] || ! [ -f "$fname" ] ) && continue;
name="$( echo "$fname" | sed -E "s/^(.*)\.g4$/\1/g" )";
echo -e "\033[92;1mANTLR4\033[0m präkompiliert Grammatik \033[1m${fname}\033[0m";
echo -e "\033[92;1mANTLR\033[0m präkompiliert Grammatik \033[1m${fname}\033[0m";
java -jar antlr.jar -Dlanguage=Go "$fname" -o "$name";
done <<< "$( ls *.g4 2> /dev/null )"
popd >> /dev/null
done <<< "$( ls *.g4 2> $NULL )"
popd >> $NULL;
}
function compile_programme() {