code: function(node, scope) {
      var delim
        , stmt
        , next
        , block = this.parent = new nodes.Block(this.parent, node);
  
      if (false === scope) block.scope = false;
  
      this.accept('newline');
  
      // css-style
      if (this.accept('{')) {
        this.css++;
        delim = '}';
        this.skipWhitespace();
      } else {
        delim = 'outdent';
        this.expect('indent');
      }
  
      while (delim != this.peek().type) {
        // css-style
        if (this.css) {
          if (this.accept('newline') || this.accept('indent')) continue;
          stmt = this.statement();
          this.accept(';');
          this.skipWhitespace();
        } else {
          if (this.accept('newline')) continue;
          // skip useless indents and comments
          next = this.lookahead(2).type;
          if ('indent' == this.peek().type
            && ~['outdent', 'newline', 'comment'].indexOf(next)) {
            this.skip(['indent', 'outdent']);
            continue;
          }
          if ('eos' == this.peek().type) return block;
          stmt = this.statement();
          this.accept(';');
        }
        if (!stmt) this.error('unexpected token {peek} in block');
        block.push(stmt);
      }
  
      // css-style
      if (this.css) {
        this.skipWhitespace();
        this.expect('}');
        this.skipSpaces();
        this.css--;
      } else {
        this.expect('outdent');
      }
  
      this.parent = block.parent;
      return block;
    }
docs: indent (!outdent)+ outdent