Index: mttroot/mtt/bin/trans/mtt_m2p ================================================================== --- mttroot/mtt/bin/trans/mtt_m2p +++ mttroot/mtt/bin/trans/mtt_m2p @@ -13,10 +13,13 @@ ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ +## Revision 1.19 1998/09/29 15:37:18 peterg +## Declare mttINPUT +## ## Revision 1.18 1998/08/27 08:55:40 peterg ## Mods to integration methods ## ## Revision 1.17 1998/08/27 07:38:40 peterg ## About to change to new integration (Euler/Implicit only) @@ -143,11 +146,16 @@ echo " MTTi,MTTj,MTTit,MTTjt,MTTiLast,mttSTEPFACTOR,mttWSTEPS,mttSTEPS,mttINPUT : INTEGER;" echo " mttMETHOD : IntegrationMethod;" echo "" ;; switch) - echo "PROCEDURE $Sys_rep(VAR mttxs : StateVector;" + echo "PROCEDURE $Sys_rep(VAR mttx : StateVector);" + echo "VAR" + echo " MTTi,MTTj : INTEGER;" + ;; + switcha) + echo "PROCEDURE $Sys_rep(VAR mttAA : StateMatrix;" echo " mttx : StateVector);" echo "VAR" echo " MTTi,MTTj : INTEGER;" ;; *) echo "PROCEDURE $Sys_rep;" @@ -244,10 +252,11 @@ printf("{%s %s_state.p}\n",inc,sys) printf("{%s %s_input.p}\n",inc,sys) printf("{%s %s_ode.p}\n",inc,sys) printf("{%s %s_odeo.p}\n",inc,sys) printf("{%s %s_switch.p}\n\n",inc,sys) + printf("{%s %s_switcha.p}\n\n",inc,sys) for (k=1;k<=j;k++) printf("%s\n", comment[k]) printf("\n") printf("\nBEGIN{%s}\n", Sys_rep) } @@ -279,10 +288,11 @@ } else{ sub(/=/,":=",$0) sub(/endif/,"END{IF}",$0) sub(/endfor/,"END{FOR}",$0) + sub(/else/,"END ELSE BEGIN",$0) gsub(/\^/,"**",$0) gsub(/&&/," AND ",$0) gsub(/\|\|/," OR ",$0) printf("%s\n",$0) } @@ -301,16 +311,21 @@ if (rep=="ode2odes") printf("END{%s}.\n", Sys_rep) else printf("END{%s};\n", Sys_rep) }' Sys=$Sys sys=$sys Sys_rep=$Sys_rep rep=$rep Nx=$Nx Nu=$Nu Ny=$Ny |\ -sed 's/(\([ijk0-9,]*\))/\[\1\]/g' |\ -sed 's/(\(MTT[ijk0-9,]*\))/\[\1\]/g' \ +sed 's/(\([ijk0-9,]*\))/\[\1\]/g' |\ +sed 's/(\(MTT[ijk0-9],[0-9]*\))/\[\1\]/g' |\ +sed 's/(\([0-9]*,MTT[ijk0-9]\))/\[\1\]/g' |\ +sed 's/(\(MTT[ijk0-9],MTT[ijk0-9]\))/\[\1\]/g' |\ +sed 's/(\(MTT[ijk0-9,]*\))/\[\1\]/g' |\ +sed 's/switcha(mttAA,/switcha(/g' |\ +sed 's/switch(MTTx,/switch(/g' \ >> $Filename # p2c doesn't like mixed case filenames! if [ "$Filename" != "$filename" ]; then echo Creating $filename cp -f $Filename $filename fi