- edited description
Криво определяется GOTO
Issue #67
new
Криво определяются переходы, когда их много
<?php
goto BZPmO;
wQ0MI:
echo PHP_EOL;
goto v2Fr7;
ZBeJY:
if (!($i <= 7)) {
goto C2CDe;
}
goto sVQQO;
a55wk:
goto Lx3Am;
goto TI3pT;
etk7G:
++$i;
goto a55wk;
v2Fr7:
echo $what;
goto jS5vq;
sq0Vr: SBcJp:
goto etk7G;
TeO7s:
echo $beautiful;
goto g4WAN;
yvmtZ:
$i = 0;
goto I1l2g;
jS5vq:
echo $a;
goto TeO7s;
mV7zG:
echo $world;
goto wQ0MI;
edVR2:
$day = 'day ';
goto yvmtZ;
rLQBZ:
$world = 'world ';
goto h1Ktg;
I1l2g: Lx3Am:
goto ZBeJY;
RNR4q:
$beautiful = 'beautiful ';
goto edVR2;
g4WAN:
echo $day;
goto JoxV7;
BZPmO:
$hello = 'hello ';
goto rLQBZ;
fewuv:
$a = 'a ';
goto RNR4q;
sVQQO:
echo $hello;
goto mV7zG;
JoxV7:
echo PHP_EOL;
goto sq0Vr;
FuDMQ:
echo 'that\'s it!' . PHP_EOL;
goto qkgI_;
h1Ktg:
$what = 'what ';
goto fewuv;
TI3pT: C2CDe:
goto FuDMQ;
qkgI_: ?>
Результат:
<?php
/*
0 3 JMP ?0 ?34 ?65151832 ;0 >>34
1 5 FETCH_CONSTANT #0= ?0 "PHP_EOL" ;16 <<24
2 5 ECHO ?0 #0:PHP_EOL ?0 ;0
3 6 JMP ?0 ?14 ?65151928 ;0 >>14
4 8 IS_SMALLER_OR_EQUAL #1= $i 7 ;0 <<29
5 8 BOOL_NOT #2= #1:$i <= 7 ?0 ;0
6 8 JMPZ ?0 #2:!($i <= 7) ?9 ;0 >>9
7 9 JMP ?0 ?49 ?65151976 ;0 >>49
8 10 JMP ?0 ?9 ?0 ;0 >>9
9 11 JMP ?0 ?38 ?65152000 ;0 >>38 <<6,8
10 13 JMP ?0 ?29 ?65152024 ;0 >>29 <<13
11 14 JMP ?0 ?49 ?65152048 ;0 >>49
12 16 PRE_INC $i ?0 ;0 <<16
13 17 JMP ?0 ?10 ?10 ;0 >>10
14 19 ECHO ?0 $what ?0 ;0 <<3
15 20 JMP ?0 ?21 ?65152096 ;0 >>21
16 22 JMP ?0 ?12 ?12 ;0 >>12 <<42
17 24 ECHO ?0 $beautiful ?0 ;0 <<22
18 25 JMP ?0 ?32 ?65152144 ;0 >>32
19 27 ASSIGN $i 0 ;0 <<26
20 28 JMP ?0 ?29 ?65152192 ;0 >>29
21 30 ECHO ?0 $a ?0 ;0 <<15
22 31 JMP ?0 ?17 ?16 ;0 >>17
23 33 ECHO ?0 $world ?0 ;0 <<39
24 34 JMP ?0 ?1 ?17 ;0 >>1
25 36 ASSIGN $day "day " ;0 <<31
26 37 JMP ?0 ?19 ?19 ;0 >>19
27 39 ASSIGN $world "world " ;0 <<35
28 40 JMP ?0 ?47 ?65152336 ;0 >>47
29 42 JMP ?0 ?4 ?22 ;0 >>4 <<10,20
30 44 ASSIGN $beautiful "beautiful " ;0 <<37
31 45 JMP ?0 ?25 ?24 ;0 >>25
32 47 ECHO ?0 $day ?0 ;0 <<18
33 48 JMP ?0 ?40 ?65152432 ;0 >>40
34 50 ASSIGN $hello "hello " ;0 <<0
35 51 JMP ?0 ?27 ?27 ;0 >>27
36 53 ASSIGN $a "a " ;0 <<48
37 54 JMP ?0 ?30 ?29 ;0 >>30
38 56 ECHO ?0 $hello ?0 ;0 <<9
39 57 JMP ?0 ?23 ?30 ;0 >>23
40 59 FETCH_CONSTANT #10= ?0 "PHP_EOL" ;16 <<33
41 59 ECHO ?0 #10:PHP_EOL ?0 ;0
42 60 JMP ?0 ?16 ?34 ;0 >>16
43 62 FETCH_CONSTANT #11= ?0 "PHP_EOL" ;16 <<49
44 62 CONCAT #12= "that's it!" #11:PHP_EOL ;0
45 62 ECHO ?0 #12:"that's it!" . PHP_EOL ?0 ;0
46 63 JMP ?0 ?50 ?65152768 ;0 >>50
47 65 ASSIGN $what "what " ;0 <<28
48 66 JMP ?0 ?36 ?41 ;0 >>36
49 68 JMP ?0 ?43 ?42 ;0 >>43 <<7,11
*/
echo PHP_EOL;
++$i;
echo $what;
echo $beautiful;
$i = 0;
echo $a;
echo $world;
$day = "day ";
$world = "world ";
$beautiful = "beautiful ";
echo $day;
$hello = "hello ";
$a = "a ";
echo $hello;
echo PHP_EOL;
echo "that's it!" . PHP_EOL;
$what = "what ";
?>
Comments (1)
-
reporter - Log in to comment