     if stack[stack.length - 1] > 0 and (IMPLICIT_END.indexOf(token[0]) >= 0 or !post?)
       idx: if token[0] is 'OUTDENT' then i + 1 else i
       for tmp in [0...stack[stack.length - 1]]
-        this.tokens.splice(idx, 0, ['CALL_END', ')', token[2]])
+        @tokens.splice(idx, 0, ['CALL_END', ')', token[2]])
       size: stack[stack.length - 1] + 1
       stack[stack.length - 1]: 0
       return size
     return 1 unless prev and IMPLICIT_FUNC.indexOf(prev[0]) >= 0 and IMPLICIT_CALL.indexOf(token[0]) >= 0
-    this.tokens.splice(i, 0, ['CALL_START', '(', token[2]])
+    @tokens.splice(i, 0, ['CALL_START', '(', token[2]])
     stack[stack.length - 1] += 1
     return 2
 

          # Unexpected close, insert correct close, adding to the debt.
          debt[mtag] += 1
          val: if mtag is 'INDENT' then match[1] else INVERSES[mtag]
          this.tokens.splice(i, 0, [INVERSES[mtag], val])
          return 1
    else
      return 1

  stack: []
  debt:  {}
  (debt[key]: 0) for key, val of INVERSES
  @scan_tokens (prev, token, post, i) =>
    tag: token[0]
    inv: INVERSES[token[0]]
    # Push openers onto the stack.
