Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/charisee_dev/src/compiler/high-to-mid/ProbeEin.sml
ViewVC logotype

Diff of /branches/charisee_dev/src/compiler/high-to-mid/ProbeEin.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3017, Mon Mar 9 15:52:22 2015 UTC revision 3030, Tue Mar 10 01:24:41 2015 UTC
# Line 40  Line 40 
40      val testing=0      val testing=0
41      val cnt = ref 0      val cnt = ref 0
42    
43        fun printEINAPP e=MidToString.printEINAPP e
44      fun transformToIndexSpace e=T.transformToIndexSpace e      fun transformToIndexSpace e=T.transformToIndexSpace e
45      fun transformToImgSpace  e=T.transformToImgSpace  e      fun transformToImgSpace  e=T.transformToImgSpace  e
46      fun testp n=(case testing      fun testp n=(case testing
# Line 215  Line 216 
216    
217          val rtn=code@[(FArg,einApp1),(y,einApp0)]          val rtn=code@[(FArg,einApp1),(y,einApp0)]
218    
219             val _=print(String.concat["\n lift probe:\n",P.printbody b,"\n\t=>\n\t", printEINAPP (FArg,einApp1),  "&\n\t", printEINAPP (y,einApp0)])
220          in          in
221              rtn              rtn
222          end          end
# Line 233  Line 234 
234                  val (body',params',args',newbies)=replaceProbe(b,params,args, index, [])                  val (body',params',args',newbies)=replaceProbe(b,params,args, index, [])
235                  val einapp=(y,DstIL.EINAPP(Ein.EIN{params=params', index=index, body=body'},args'))                  val einapp=(y,DstIL.EINAPP(Ein.EIN{params=params', index=index, body=body'},args'))
236                  val code=newbies@[einapp]                  val code=newbies@[einapp]
237                  (*val _=print(String.concat["\n Replace probe:\n",P.printbody b,"\n=>",P.printbody body'])*)                 val _=print(String.concat["\n Replace probe:\n",P.printbody b,"\n=>",P.printbody body'])
238                  in                  in
239                      code                      code
240                  end                  end
241              | E.Probe(E.Conv _,_) =>liftProbe(y,b,params,args, index, [])              | E.Probe(E.Conv _,_) =>let
242                      val _=print(String.concat["\n Lift  probe:\n",P.printerE ein])
243                    in  liftProbe(y,b,params,args, index, [])
244                    end
245              | E.Sum(sx,E.Probe e)  =>let              | E.Sum(sx,E.Probe e)  =>let
246                  val (body',params',args',newbies)=replaceProbe(E.Probe e,params,args, index, sx)                  val (body',params',args',newbies)=replaceProbe(E.Probe e,params,args, index, sx)
247                  val  body'=E.Sum(sx,body')                  val  body'=E.Sum(sx,body')
248                  val einapp=(y,DstIL.EINAPP(Ein.EIN{params=params', index=index, body=body'},args'))                  val einapp=(y,DstIL.EINAPP(Ein.EIN{params=params', index=index, body=body'},args'))
249                  val code=newbies@[einapp]                  val code=newbies@[einapp]
250                  val _=print(String.concat["\n Replace probe:\n",P.printerE ein])(*,"\n=>",P.printbody body'])*)                  val _=print(String.concat["\n Replace probe:\n",P.printerE ein,"\n=>",P.printbody body'])
251    
252                  in                  in
253                      code                      code
# Line 253  Line 257 
257                  val  body'=E.Sum(sx,E.Prod[eps,body'])                  val  body'=E.Sum(sx,E.Prod[eps,body'])
258                  val einapp=(y,DstIL.EINAPP(Ein.EIN{params=params', index=index, body=body'},args'))                  val einapp=(y,DstIL.EINAPP(Ein.EIN{params=params', index=index, body=body'},args'))
259                  val code=newbies@[einapp]                  val code=newbies@[einapp]
260                  val _=print(String.concat["\n Replace probe:\n",P.printerE ein])(*,"\n=>",P.printbody body'])*)                  val _=print(String.concat["\n Replace probe:\n",P.printerE ein,"\n=>",P.printbody body'])
261                  in                  in
262                      code                      code
263                  end                  end

Legend:
Removed from v.3017  
changed lines
  Added in v.3030

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0