3v4l.org

run code in 500+ PHP versions simultaneously
<?php function __( $string ) { return $string; } class AtomParser { var $FILE = "php://input"; var $debug = false; public function parse() { $fp = fopen($this->FILE, "r"); while ($data = fread($fp, 4096)) { if($this->debug) $this->content .= $data; if(!xml_parse($parser, $data, feof($fp))) { /* translators: 1: Error message, 2: Line number. */ trigger_error(sprintf(__('XML Error: %1$s at line %2$s')."\n", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); $ret = false; break; } } fclose($fp); } } $atom_parser = new AtomParser(); $atom_parser->parse();
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/p4YKQ
function name:  (null)
number of ops:  6
compiled vars:  !0 = $atom_parser
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   29     0  E >   NEW                                                  $1      'AtomParser'
          1        DO_FCALL                                          0          
          2        ASSIGN                                                       !0, $1
   30     3        INIT_METHOD_CALL                                             !0, 'parse'
          4        DO_FCALL                                          0          
          5      > RETURN                                                       1

Function __:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/p4YKQ
function name:  __
number of ops:  3
compiled vars:  !0 = $string
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   RECV                                                 !0      
    4     1      > RETURN                                                       !0
    5     2*     > RETURN                                                       null

End of function __

Class AtomParser:
Function parse:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 44
Branch analysis from position: 44
2 jumps found. (Code = 44) Position 1 = 50, Position 2 = 7
Branch analysis from position: 50
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 11
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 44
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 50
Branch analysis from position: 50
Branch analysis from position: 44
Branch analysis from position: 11
filename:       /in/p4YKQ
function name:  parse
number of ops:  54
compiled vars:  !0 = $fp, !1 = $data, !2 = $parser, !3 = $ret
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   12     0  E >   INIT_FCALL                                                   'fopen'
          1        FETCH_OBJ_R                                          ~4      'FILE'
          2        SEND_VAL                                                     ~4
          3        SEND_VAL                                                     'r'
          4        DO_ICALL                                             $5      
          5        ASSIGN                                                       !0, $5
   13     6      > JMP                                                          ->44
   14     7    >   FETCH_OBJ_R                                          ~7      'debug'
          8      > JMPZ                                                         ~7, ->11
          9    >   ASSIGN_OBJ_OP                                     8          'content'
         10        OP_DATA                                                      !1
   16    11    >   INIT_FCALL                                                   'xml_parse'
         12        SEND_VAR                                                     !2
         13        SEND_VAR                                                     !1
         14        INIT_FCALL                                                   'feof'
         15        SEND_VAR                                                     !0
         16        DO_ICALL                                             $9      
         17        SEND_VAR                                                     $9
         18        DO_ICALL                                             $10     
         19        BOOL_NOT                                             ~11     $10
         20      > JMPZ                                                         ~11, ->44
   18    21    >   INIT_FCALL                                                   'trigger_error'
         22        INIT_FCALL                                                   'sprintf'
         23        INIT_FCALL                                                   '__'
         24        SEND_VAL                                                     'XML+Error%3A+%251%24s+at+line+%252%24s'
         25        DO_FCALL                                          0  $12     
         26        CONCAT                                               ~13     $12, '%0A'
         27        SEND_VAL                                                     ~13
   19    28        INIT_FCALL                                                   'xml_error_string'
         29        INIT_FCALL                                                   'xml_get_error_code'
         30        SEND_VAR                                                     !2
         31        DO_ICALL                                             $14     
         32        SEND_VAR                                                     $14
         33        DO_ICALL                                             $15     
         34        SEND_VAR                                                     $15
   20    35        INIT_FCALL                                                   'xml_get_current_line_number'
         36        SEND_VAR                                                     !2
         37        DO_ICALL                                             $16     
         38        SEND_VAR                                                     $16
   18    39        DO_ICALL                                             $17     
   20    40        SEND_VAR                                                     $17
   18    41        DO_ICALL                                                     
   21    42        ASSIGN                                                       !3, <false>
   22    43      > JMP                                                          ->50
   13    44    >   INIT_FCALL                                                   'fread'
         45        SEND_VAR                                                     !0
         46        SEND_VAL                                                     4096
         47        DO_ICALL                                             $20     
         48        ASSIGN                                               ~21     !1, $20
         49      > JMPNZ                                                        ~21, ->7
   25    50    >   INIT_FCALL                                                   'fclose'
         51        SEND_VAR                                                     !0
         52        DO_ICALL                                                     
   26    53      > RETURN                                                       null

End of function parse

End of class AtomParser.

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
203.37 ms | 2114 KiB | 23 Q