#! /bin/sh
######################################
##### Model Transformation Tools #####
######################################
# Bourne shell script: cmp2sub_txt2sh
# Copyright (C) 2000 by Peter J. Gawthrop
###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.1 2002/12/03 23:26:08 geraint
## Convert _cmp.txt to _sub.sh.
## Slightly edited copy of (obsolete) abg2sub_m2sh.
##
## Revision 1.4 2002/04/28 18:41:26 geraint
## Fixed [ 549658 ] awk should be gawk.
## Replaced calls to awk with call to gawk.
##
## Revision 1.3 2000/10/03 11:34:53 peterg
## Correct $MTT_LIB
##
## Revision 1.2 2000/03/17 09:53:10 peterg
## Removed irritating echo Using "$1_sub.sh"
##
## Revision 1.1 2000/03/15 21:23:20 peterg
## Initial revision
##
###############################################################
if [ -f "$1_sub.sh" ]; then
#echo Using "$1_sub.sh"
exit
else
#Inform user
echo Creating $1_sub.sh
fi
echo '# Commands to generate subsystem representations'> $1_sub.sh
echo "# File $1_sub.sh" >> $1_sub.sh
echo "# Generated by MTT on `date`." >> $1_sub.sh
echo >> $1_sub.sh
# Get a list of all components for the _abg file
strip_comments < $1_cmp.txt | gawk -F\: '{print $1}' |\
sort -u > mtt_tmp1
# Remove all components starting with 0 or 1
grep -v '^[01]' < mtt_tmp1 > mtt_tmp4
# Get a list of all standard simple components
echo ls $MTT_LIB/comp/simple
ls $MTT_LIB/comp/simple |\
gawk '/_cause.m/{split($1,a,"_");print(a[1])}' >mtt_tmp2
# Get a list of all standard compound components
#ls $MTTPATH/comp/compound |\
# gawk '/_abg.m/{split($1,a,"_");print(a[1])}' >> mtt_tmp2
# Sorted combined list
cat mtt_tmp2 | \
sed 's/^zero$/0/' |\
sed 's/^one$/1/' |\
sort -u >mtt_tmp3
# Print the non-standard components
comm mtt_tmp4 mtt_tmp3 |\
gawk 'BEGIN{FS="\t"}{if (length($1)>0) print "$1" $1 "$2"}' \
>>$1_sub.sh
# Clean up mtt_tmp files
#rm -f mtt_tmp?