#!/bin/bash

# Wrapper script for LP2GRAPH

if test $# -ne 3
then
  echo "The script $0 must be invoked with three parameters!"
  exit 128
fi

trap ":" 24 15

BIN=`dirname $0`
TMP=${BIN%%/bin}/tmp

unid=`hostname -s`-$$
symfile=$TMP/$unid-symbols.sm
outfile=$TMP/$unid-output.txt

gringo-aspcomp2014 --foobar="$3" 2>/dev/null \
| $BIN/lpstrip-1.8 2>/dev/null \
| $BIN/lpcat-1.25 -s=$symfile 2>/dev/null \
| $BIN/lpshift-1.2 2>/dev/null \
| $BIN/lp2normal2-1.7 2>/dev/null \
| $BIN/lp2acyc-1.12 2>/dev/null \
| $BIN/lp2sat-1.20 -g 2>/dev/null \
| $BIN/acycglucose_simp /dev/stdin $outfile 1>/dev/null 2>/dev/null

declare -a rvals=("${PIPESTATUS[@]}")

if test ${rvals[0]} -ne 0
then
  echo "Grounding error!"
  exit 128
fi

for i in 1 2 3 4 5 6
do
  if test ${rvals[$i]} -ne 0
  then
    echo "UNKNOWN"
    exit 1
  fi
done

$BIN/judge $symfile $outfile ${rvals[7]}
rval=$?

exit $rval
