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.