original_string: protected function process_block_rule($name, $block) {
          $this->rulestack[] = array('callback' => method_exists($this, $name."_block_rule") ? $name."_block_rule" : null, 'rule' => $block);
  
          $this->string = preg_replace_callback($block['expression'], array($this, 'block_callback'), $this->string);
  
          array_pop($this->rulestack);
      }
code: protected function process_block_rule($name, $block) {
          $this->rulestack[] = array('callback' => method_exists($this, $name."_block_rule") ? $name."_block_rule" : null, 'rule' => $block);
  
          $this->string = preg_replace_callback($block['expression'], array($this, 'block_callback'), $this->string);
  
          array_pop($this->rulestack);
      }
code_tokens: protected function process_block_rule ( $ name , $ block ) { $ this -> rulestack [ ] = array ( 'callback' => method_exists ( $ this , $ name . "_block_rule" ) ? $ name . "_block_rule" : null , 'rule' => $ block ) ; $ this -> string = preg_replace_callback ( $ block [ 'expression' ] , array ( $ this , 'block_callback' ) , $ this -> string ) ; array_pop ( $ this -> rulestack ) ; }
docstring: Block processing function & callbacks
docstring_tokens: Block processing function & callbacks