Chování parseru
Parsing
a
provádění
kódu
jsou
nyní
dva
naprosto
oddělené
kroky
,
nic
z
kódu
v
souboru
se
neprovádí
dříve
,
než
je
úspěšně
provedena
úplná
syntaktická
analýza
celého
souboru
a
všeho
,
co
je
třeba
.
Jeden
z
nových
požadavků
,
které
vyvstaly
tímto
rozdělením
,
je
,
že
všechny
soubory
připojené
prostřednictvím
"
require
"
a
"include
"
nyní
musí
být
syntakticky
úplné
.
Již
nelze
rozložit
různé
části
řídicích
konstrukcí
přes
hranice
souborů
.
Tj
.
nelze
začít
cyklus
for
nebo
while
,
větvení
if
nebo
switch
v
jednom
souboru
a
ukočit
je
(
resp
.
pokračovat
pomocí
else
,
endif
,
case
nebo
break
)
v
souboru
jiném
.
Zůstává
zcela
legální
vložit
další
kód
do
cyklů
nebo
jiných
řídicích
struktur
,
pouze
řídicí
klíčová
slova
a
odpovídající
složené
závorky
{
..
.
}
musí
být
ve
stejné
kompilační
jednotce
(souboru
nebo
řetězci
zpracovaném
pomocí
eval(
)
)
.
Toto
neškodí
tolik
jako
výše
uvedené
rozkládání
kódu
,
přesto
to
může
být
považováno
za
velmi
špatný
styl
.
Jinou
věcí
,
která
již
není
možná
,
je
vzácně
vídané
vracení
hodnot
ze
souborů
připojených
pomocí
"
require
"
.
Vracení
hodnot
ze
souborů
připojených
"
include
"
je
možné
i
nadále
.