Posted to tcl by miguel at Fri Nov 16 22:05:32 GMT 2007view raw
- % L {int foo(int x) {int y; y=x*x; return y}}
- unknown:1: L Error: syntax error, unexpected }
- % L {
- int foo(int x) {
- int y;
- y=x*x;
- return y;
- }
- }
- % tcl::unsupported::disassemble proc foo
- ByteCode 0x0x8238990, refCt 1, epoch 0, interp 0x0x81b64f8 (epoch 0)
- Source "\nint foo(int x) {\nint y;\ny=x*x;\nreturn y;\n}\n"
- Cmds 2, src 44, inst 19, litObjs 2, aux 0, stkDepth 2, code/src 3.27
- Code 144 = header 104+inst 19+litObj 8+exc 0+aux 0+cmdMap 8
- Proc 0x0x8238438, refCt 2, args 1, compiled locals 2
- slot 0, scalar, arg, "x"
- slot 1, scalar, "y"
- Commands 2:
- 1: pc 5-9, src 27-28 2: pc 5-11, src 25-28
- (0) push1 0 # "0"
- (2) storeScalar1 %v1 # var "y"
- (4) pop
- Command 1: "x*"
- Command 2: "y=x*"
- (5) loadScalar1 %v0 # var "x"
- (7) loadScalar1 %v0 # var "x"
- (9) mult
- (10) storeScalar1 %v1 # var "y"
- (12) pop
- (13) loadScalar1 %v1 # var "y"
- (15) done
- (16) push1 1 # ""
- (18) done