Posted to tcl by kbk at Thu Sep 23 00:30:17 GMT 2010view raw

  1. set ::tcl_traceCompile 2
  2. tcl::unsupported::assemble {
  3. # puts "n = [expr {2 + 2}]"
  4. push puts; # stack = puts
  5. push {n = }; # stack = puts {n = }
  6. push 2; # stack = puts {n = } 2
  7. push 2; # stack = puts {n = } 2 2
  8. add; # stack = puts {n = } 4
  9. concat 2; # stack = puts {n = 4}
  10. invokeStk; # stack = (empty result of puts)
  11. pop; # discard empty result
  12. }