potasscoctl
No OneTemporary

File Metadata

Created
Fri, Mar 13, 7:03 PM

potasscoctl

#!/bin/bash
SOLVER=/opt/potassco/clingo/build/debug/clingo
PLOTTER=/opt/dottoxml/src/dottoxml.py
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
solve () {
#1 - input file
OUTPUT=`$SOLVER -n0 $1`
echo $OUTPUT | sed 's/.*Answer: 1 \(.*\) SATISFIABLE.*/\1/;s/\ /\n/g'
}
graph () {
# 1 - predicate
# 2 - path
# 3 - filename
# 4 - body
FILE_DOT=$2/$3.dot
FILE_YED=$2/$3.graphml
echo 'digraph xxx {' > $FILE_DOT
echo "$4" | sed -n /^$1\(/p | sed -E "s/$1\((.*),(.*)\)/\1 -> \2\;/g" >> $FILE_DOT
echo '}' >> $FILE_DOT
python $PLOTTER $FILE_DOT $FILE_YED
}
case $1 in
solve)
solve $2
;;
graph)
SOLUTION=`solve $3`
OUTPUT_PATH=$(dirname $3)
OUTPUT_NAME=$(basename $3)
graph $2 $OUTPUT_PATH $OUTPUT_NAME "$SOLUTION"
;;
*)
echo "usage: $0 solve <SOURCE-FILE>"
echo "usage: $0 graph <PREDICATE> <SOURCE-FILE>"
;;
esac

Event Timeline