#!/bin/bash

set -e

if [ -z "$LINGDEF" ]; then
  LINGDEF=$HOME/olivex/lingdef.xml
fi
export LINGDEF


if [ $# == 0 ]; then
  echo "usage: $0 [-f] <maingraph> <dir>"
  exit 1
fi

FORCE="no"
if [ "$1" = "-f" ]; then
  FORCE="yes"
  shift
fi

if [ "$#" != 2 ]; then
  echo "bad args"
  exit 1
fi

MAIN=$1
GRFDIR=$2
RESDIR=$MAIN.grm8

function die () {
 echo "error!: $1"
 exit 1
}

if [ $FORCE = "yes" -a -e "$RESDIR" ]; then
  rm -r $RESDIR
fi

if [ -e "$RESDIR" ]; then
  echo "$RESDIR exist, please remove it"
  exit 1
fi
mkdir $RESDIR

echo "Flatten ..."
for i in $GRFDIR/*.grf8; do
  echo -n "$i "
  flatten $i
done
echo

cp $GRFDIR/*.gfst $RESDIR

cd $RESDIR

echo "To pattern..."
for i in *.gfst; do
  echo -n "$i "
  gfst2upattern -l $LINGDEF $i
done
echo

echo
echo "making grammar ..."
pat2ugrammar -l $LINGDEF $MAIN

echo "done. grammar in $RESDIR"

