diff options
Diffstat (limited to 'src/pkg/exp/eval/func.go')
-rw-r--r-- | src/pkg/exp/eval/func.go | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/src/pkg/exp/eval/func.go b/src/pkg/exp/eval/func.go index 992706641..e672d0783 100644 --- a/src/pkg/exp/eval/func.go +++ b/src/pkg/exp/eval/func.go @@ -11,25 +11,25 @@ import "os" */ type Thread struct { - abort chan os.Error; - pc uint; + abort chan os.Error + pc uint // The execution frame of this function. This remains the // same throughout a function invocation. - f *Frame; + f *Frame } type code []func(*Thread) func (i code) exec(t *Thread) { - opc := t.pc; - t.pc = 0; - l := uint(len(i)); + opc := t.pc + t.pc = 0 + l := uint(len(i)) for t.pc < l { - pc := t.pc; - t.pc++; - i[pc](t); + pc := t.pc + t.pc++ + i[pc](t) } - t.pc = opc; + t.pc = opc } /* @@ -37,33 +37,33 @@ func (i code) exec(t *Thread) { */ type codeBuf struct { - instrs code; + instrs code } -func newCodeBuf() *codeBuf { return &codeBuf{make(code, 0, 16)} } +func newCodeBuf() *codeBuf { return &codeBuf{make(code, 0, 16)} } func (b *codeBuf) push(instr func(*Thread)) { - n := len(b.instrs); + n := len(b.instrs) if n >= cap(b.instrs) { - a := make(code, n, n*2); + a := make(code, n, n*2) for i := range b.instrs { a[i] = b.instrs[i] } - b.instrs = a; + b.instrs = a } - b.instrs = b.instrs[0 : n+1]; - b.instrs[n] = instr; + b.instrs = b.instrs[0 : n+1] + b.instrs[n] = instr } -func (b *codeBuf) nextPC() uint { return uint(len(b.instrs)) } +func (b *codeBuf) nextPC() uint { return uint(len(b.instrs)) } func (b *codeBuf) get() code { // Freeze this buffer into an array of exactly the right size - a := make(code, len(b.instrs)); + a := make(code, len(b.instrs)) for i := range b.instrs { a[i] = b.instrs[i] } - return code(a); + return code(a) } /* @@ -71,11 +71,11 @@ func (b *codeBuf) get() code { */ type evalFunc struct { - outer *Frame; - frameSize int; - code code; + outer *Frame + frameSize int + code code } -func (f *evalFunc) NewFrame() *Frame { return f.outer.child(f.frameSize) } +func (f *evalFunc) NewFrame() *Frame { return f.outer.child(f.frameSize) } -func (f *evalFunc) Call(t *Thread) { f.code.exec(t) } +func (f *evalFunc) Call(t *Thread) { f.code.exec(t) } |