ΠΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ°Π±ΠΎΡΠ°Π» Π½Π°Π΄ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π²ΠΎ Π²Ρ ΠΎΠ΄Π½ΡΡ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΡ?
ΠΠ΅Π΄Π°Π²Π½ΠΎ Ρ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π» ΠΏΡΠΎΠ΅ΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ PEG. Π£ Π½Π°Ρ Π΅ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ PEG, Π½ΠΎ ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ°, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΡΠ΅ΡΡΠ½Π° ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΊΠΎΠ΄Π° ΠΏΠ°ΡΡΠ΅ΡΠ° PEG?
ΠΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΡΠΊΠ°ΠΌΠΈ.
peg$parse
.} else {
peg$currPos = s#;
s# = peg$FAILED;
}
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π±ΡΠ» ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
while (s# !== peg$FAILED)
β ΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅.if (s# === peg$FAILED)
ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ Π²ΡΠ±ΠΎΡΠ°.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΡΠΊΠ°ΠΌΠΈ.
peg$parse
.ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π±ΡΠ» ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
while (s# !== peg$FAILED)
β ΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅.if (s# === peg$FAILED)
ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ Π²ΡΠ±ΠΎΡΠ°.