#! /bin/sh
######################################
##### Model Transformation Tools #####
######################################
# Bourne shell script: txt2m
# Converts txt file to matlab file (for numpar and state)
# Copyright (c) P.J.Gawthrop 1998
# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# %% Version control history
# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# %% $Id$
# %% $Log$
# %% Revision 1.4 1998/07/26 09:50:12 peterg
# %% More forgiving of txt sytax.
# %%
# %% -- can use () or ()
# %% -- can use mttx() or x()
# %% -- can use mttu() or u()
# %%
# %% Revision 1.3 1998/07/25 20:40:35 peterg
# %% All vars in lower case now
# %%
# %% Revision 1.2 1998/07/25 09:48:31 peterg
# %% Tidied up for Pascal version
# %%
# %% Revision 1.1 1998/02/25 22:10:25 peterg
# %% Initial revision
# %%
# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
system=$1
representation=$2
if [ "$representation" = "state" ]; then
name='mttx';
arg='';
fi
if [ "$representation" = "input" ]; then
name='mttu';
arg='(mttx,mttt)'
fi
# Inform user
echo Creating $1_$2.m
if [ "$representation" != "simpar" ]; then
#Create the $2 file complete with headers.
echo "function $name = $1_$2$arg" > $1_$2.m
echo "%% $2 file ($1_$2.m)" >> $1_$2.m
echo "%% Generated by MTT at `date`" >> $1_$2.m
echo "% Global variable list" >> $1_$2.m
sympar2global_txt2m $1 >> $1_$2.m
else
echo "% Script file $1_$2.m" > $1_$2.m
fi
#Write out the variables in m format.
awk -F# '{
if (NF<2) print $1
if (NF>1) print $1 "# " $2
}' $1_$2.txt | \
sed 's/\[\([0-9]*\)\]/(\1)/g' |\
sed 's/LAST/mttLAST/g' |\
sed 's/DT/mttDT/g' |\
sed 's/STEPFACTOR/mttSTEPFACTOR/g' |\
sed 's/METHOD/mttMETHOD/g' |\
sed 's/x(/mttx(/g' | sed 's/u(/mttu(/g' |\
sed 's/mttmtt/mtt/g' >> $1_$2.m