Simplified some code
This commit is contained in:
parent
736d018152
commit
2623e80a93
3 changed files with 7 additions and 17 deletions
|
@ -21,7 +21,6 @@ func (p *Pointer) Exec(f *field.Field) (done bool, returnValue *int) {
|
|||
}
|
||||
if c == '"' {
|
||||
p.stringMode = false
|
||||
p.lastCharWasSpace = false
|
||||
} else {
|
||||
if c == ' ' {
|
||||
p.lastCharWasSpace = true
|
||||
|
@ -65,27 +64,19 @@ func (p *Pointer) eval(c int, f *field.Field) (done bool, returnValue *int) {
|
|||
v := p.ss.head.Pop()
|
||||
return true, &v
|
||||
case 'k':
|
||||
x, y := p.x, p.y
|
||||
n := p.ss.head.Pop()
|
||||
c = p.StepAndGet(*f)
|
||||
steps := 1
|
||||
for jumpingMode := false; jumpingMode || c == ' ' || c == ';'; c = p.StepAndGet(*f) {
|
||||
steps += 1
|
||||
if c == ';' {
|
||||
jumpingMode = !jumpingMode
|
||||
}
|
||||
}
|
||||
if n > 0 {
|
||||
// we need to reverse that step
|
||||
p.Reverse()
|
||||
for i := 0; i < steps; i++ {
|
||||
p.Step(*f)
|
||||
}
|
||||
p.Reverse()
|
||||
p.x, p.y = x, y
|
||||
if c != ' ' && c != ';' {
|
||||
if n > 0 {
|
||||
for i := 0; i < n; i++ {
|
||||
p.eval(c, f)
|
||||
}
|
||||
for i := 0; i < n; i++ {
|
||||
p.eval(c, f)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -99,9 +99,8 @@ func (p *Pointer) Redirect(c int) bool {
|
|||
case 'r':
|
||||
p.Reverse()
|
||||
case 'x':
|
||||
dy := p.ss.head.Pop()
|
||||
dx := p.ss.head.Pop()
|
||||
p.RedirectTo(dx, dy)
|
||||
p.dy = p.ss.head.Pop()
|
||||
p.dx = p.ss.head.Pop()
|
||||
default:
|
||||
return false
|
||||
}
|
||||
|
|
|
@ -80,7 +80,7 @@ func (ss *StackStack) End(p *Pointer) (reflect bool) {
|
|||
}
|
||||
}
|
||||
ss.height--
|
||||
ss.head = ss.head.next
|
||||
ss.head = soss
|
||||
return false
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue