code: function() {
      var op
        , node = this.defined();
      while (op =
           this.accept('**')
        || this.accept('*')
        || this.accept('/')
        || this.accept('%')) {
        this.operand = true;
        if ('/' == op && this.inProperty && !this.parens) {
          this.stash.push(new Token('literal', new nodes.Literal('/')));
          this.operand = false;
          return node;
        } else {
          if (!node) this.error('illegal unary "' + op + '", missing left-hand operand');
          node = new nodes.BinOp(op.type, node, this.defined());
          this.operand = false;
        }
      }
      return node;
    }
docs: defined (('**' | '*' | '/' | '%') defined)*