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.12 1998/07/30 11:30:42 peterg +## Included zeros function +## ## Revision 1.11 1998/07/29 14:18:34 peterg ## Reorganised rep dependednt output ## ## Revision 1.10 1998/07/27 20:26:15 peterg ## Added new VARs mttWSTEPS, MTTWMIN,mttWMAX @@ -214,16 +217,16 @@ printf("{%s %s_odeo.p}\n",inc,sys) printf("{%s %s_smx.p}\n",inc,sys) printf("{%s %s_switch.p}\n",inc,sys) for (k=1;k<=j;k++) printf("%s\n", comment[k]) printf("\n") - printf("\nBEGIN\n") + printf("\nBEGIN{%s}\n", Sys_rep) } else{ for (k=1;k<=j;k++) printf("%s\n", comment[k]) printf("\n") - printf("\nBEGIN\n") + printf("\nBEGIN{%s}\n", Sys_rep) } doing_header = 0; } if (match($1,comment_regexp)>0){ if (doing_header==1) @@ -232,20 +235,24 @@ printf("%s\n", $0) } else { if ($1=="if") { sub(/==/, "=", $0) + gsub(/&&/," AND ",$0) + gsub(/\|\|/," OR ",$0) printf("%s THEN BEGIN\n", $0) } else{ if ($1=="for"){ sub(/:/," TO ",$0) sub(/=/,":=",$0) printf("%s DO BEGIN\n", $0) } - else { + else{ sub(/=/,":=",$0) + sub(/endif/,"END{IF}",$0) + sub(/endfor/,"END{FOR}",$0) gsub(/\^/,"**",$0) gsub(/&&/," AND ",$0) gsub(/\|\|/," OR ",$0) printf("%s\n",$0) } @@ -260,14 +267,14 @@ printf("IMPLICITL = 2;\n") printf("IMPLICIT = 3;\n") } else if (rep=="ode2odes") - print "END." + printf("END{%s}.\n", Sys_rep) else - print "END;" -}' sys=$sys rep=$rep Nx=$Nx Nu=$Nu Ny=$Ny |\ + printf("END{%s};\n", Sys_rep) +}' 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' \ >> $Filename # p2c doesn't like mixed case filenames!