peg์ ์ถ๋ ฅ์ ๋ค์ ์ ๋ ฅ ๋ฌธ๋ฒ์ผ๋ก ๋ณํํ๋ ์์ ์ ์ํํ ์ฌ๋์ด ์์ต๋๊น?
์ต๊ทผ์ 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)
๋ ์ ํ์ ๋์ฒด ๋ถ๊ธฐ์ ๋๋ค.