blob: 920705c7ccdc32b3b1a93f6eedbc6b987a356478 [file] [log] [blame]
#!/bin/bash
# Download and install the TLA+ Tools wrapper scripts from
# https://github.com/pmer/tla-bin.git
set -e
shopt -s expand_aliases
SPEC=$1
shift
# Insert ProcessEnabled() for each label, if found in $SPEC.tla
grep -q -e "--algorithm" $SPEC.tla && pcal -nocfg $SPEC.tla | tee $SPEC.log
if grep -q -e "^\s*ProcessEnabled(self)\s*==" $SPEC.tla; then
sed -i -e 's%pc\[self\] = ".*"$%& /\\\ ProcessEnabled(self)%' $SPEC.tla
fi
# Split vars into {global,local}_vars tuples
gawk -i inplace -f varsplit.awk $SPEC.tla
tlc -workers $(nproc) $@ $SPEC.tla | tee -a $SPEC.log