๋ฐ์ํ
ํ์ฑ(Parsing)๊ณผ ํ์(parser)
ํ์ฑ(parsing)
ํ์ฑ(parsing)
= ๊ตฌ๋ฌธ๋ถ์ (์ด๋ค ๋ฌธ์ฅ์ ๋ถ์ํ๊ฑฐ๋ ๋ฌธ๋ฒ์ ๊ด๊ณ๋ฅผ ํด์ํ๋ ํ์)
= html ๋ฑ์ ์๋ฃ์์ ๋ชฉ์ ์ ๋ง๋ ์ ๋ณด๋ง ์ถ์ถํด์ ๋ด๊ฐ ์ํ๋ ๋์ ๋ถ๋ฌ์ค๋ ๊ฒ
- CS์์ ํ์ฑ์ ์ผ๋ จ์ ๋ฌธ์์ด์ ์๋ฏธ์๋ token(์ดํ ๋ถ์์ ๋จ์) ์ผ๋ก ๋ถํดํ๊ณ ๊ทธ๊ฒ๋ค๋ก ์ด๋ฃจ์ด์ง Parse tree๋ฅผ ๋ง๋๋ ๊ณผ์
- ๋ฐ์ดํฐ๋ฅผ ๋ถํด ๋ถ์ํ์ฌ ์ํ๋ ํํ๋ก ์กฐ๋ฆฝํ๊ณ ๋ค์ ๋นผ๋ด๋ ํ๋ก๊ทธ๋จ
- ์น์์์ ์ฃผ์ด์ง ์ ๋ณด๋ฅผ ๋ด๊ฐ ์ํ๋ ํํ๋ก ๊ฐ๊ณตํ์ฌ ์๋ฒ์์ ๋ถ๋ฌ๋ค์ด๋ ๊ฒ.
- ํ์(parser)๋ ์ปดํ์ผ์ ์ผ๋ถ๋ก์ ์์ ํ๋ก๊ทธ๋จ์ ๋ช ๋ น๋ฌธ์ด๋ ์จ๋ผ์ธ ๋ช ๋ น๋ฌธ, HTML ๋ฌธ์ ๋ฑ์์ Markup Tag ๋ฑ์ ์ ๋ ฅ์ผ๋ก ๋ฐ์๋ค์ฌ์ ๊ตฌ๋ฌธ์ ํด์ํ ์ ์๋ ๋จ์์ ์ฌ๋ฌ ๋ถ๋ถ์ผ๋ก ๋ถํ ํด์ฃผ๋ ์ญํ ์ ํ๋๋ฐ, ์ด๋ฌํ ํ์(parser) ์ญํ ์ ํ๋ ์ปดํจํฐ๊ฐ ๊ตฌ๋ฌธ ํธ๋ฆฌ(parse tree)๋ก ์ฌ๊ตฌ์ฑํ๋ ๊ตฌ๋ฌธ ๋ถ์ ๊ณผ์
- ์ด๋ค data๋ฅผ ์ํ๋ form์ผ๋ก ๋ง๋ค์ด ๋ด๋ ๊ฒ.
- Parsing ๊ธฐ๋ฒ์ผ๋ก XMl ํ์ฑ ๊ธฐ๋ฒ์ธ DOM๊ณผ SAX / JSON ํ์ฑ ๊ธฐ๋ฒ์ด ์๋ค.
ํ์(parser)
ํ์(parser)
= ๊ตฌ๋ถ ๋ถ์์ ํ๋ ์ญํ
= ๋ถ์ ๋ฐ ๋ถํด ํ ๋ชฉ์ ์ ๋ง์ถฐ ๊ตฌ์กฐ๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ
- ์ปดํ์ผ๋ฌ(compiler)์ ์ผ๋ถ
- ์์ ํ๋ก๊ทธ๋จ์ ๋ช ๋ น๋ฌธ์ด๋ ์จ๋ผ์ธ ๋ช ๋ น๋ฌธ, HTML ๋ฌธ์ ๋ฑ์์ Markup Tag ๋ฑ์ ์ ๋ ฅ(ํํ ํ ์คํธ)์ผ๋ก ๋ฐ์๋ค์ฌ์ ๊ตฌ๋ถ์ ํด์ํ ์ ์๋ ๋จ์๋ก ์ฌ๋ฌ ๋ถ๋ถ์ผ๋ก ํด์ํด ์ฃผ๋ ์ญํ ์ ํจ
- Compiler๋ Interpreter์์ ์์ ํ๋ก๊ทธ๋จ์ ์ฝ์ด ๋ค์ฌ, ๊ทธ ๋ฌธ์ฅ์ด ๊ตฌ์กฐ๋ฅผ ์์๋ด๋ Parsing์ ํํ์ฌ ์ฃผ๋ ํ๋ก๊ทธ๋จ (parsing์ ์ํํ๋ ํ๋ก๊ทธ๋จ)
- ๋ค๋ฅธ ์ธ์ด์์ ํด์ํ๊ธฐ ์ฝ๊ฒ ์์ ์์๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถํดํ๋ ์ปดํ์ผ๋ฌ๋ ์ธํฐํ๋ฆฌํฐ ์ปดํฌ๋ํธ
- ํ ํฐ์ ์ํ์ค ํํ์ ์ ๋ ฅ, ๋ช ๋ น์ด์ ์ํธ์์ฉ ๋๋ ํ๋ก๊ทธ๋จ ์ง์๋ฅผ ๋ฐ์ ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ์ปดํฌ๋ํธ์์ ์ฌ์ฉ ๊ฐ๋ฅํ ํํ๋ก ๋ถํดํ๋ ๊ฒ
ํ์ฑ ๊ณผ์ / ๋ฐฉ๋ฒ
- ์ดํ ๋ถ์ (Lexical Analysis)
์ ๋ ฅ๋ ๋ฌธ์์ด ์คํธ๋ฆผ์ผ๋ก๋ถํฐ ํ ํฐ์ ์์ฑํ๊ธฐ ์ํด ์ฌ์ฉ๋จ
์์ ์ปดํฌ๋ํธ๋ค์ ์๋ฏธ์๋ ๋จ์๋ก ๋ถํดํ๊ธฐ ์ํจ - ๊ตฌ๋ฌธ ๋ถ์ (Syntactic Analysis)
์์ฑ๋ ํ ํฐ์ด ์๋ฏธ๊ฐ ์๋ ํํ์ธ์ง ํ์ธ
๋ฌธ๋งฅ-์์ ๋ฌธ๋ฒ(context-free grammar)๋ฅผ ์ฌ์ฉํจ
์๋ฏธ๋ฅผ ํ์ฑํ๊ณ ํ ํฐ์ด ์์ด์ผ ํ ์์๋ฅผ ์ ์ํจ - ์๋ฏธ ๋ถ์ (Semantic Analysis)
- ํ์ฑ์ ์ต์ข ๋จ๊ณ
- ์๋ฏธ์๊ณ , ์ ํจํ ํํ๋ค์ด ์ ํด์ง
๐ก ์ ์ฉ๋๋ ์ฌ๋ก๐ก
- Java์ ๊ฐ์ ํ๋ก๊ทธ๋ฐ ์ธ์ด
- HTML๊ณผ XML
- ์ํธ์์ฉ ๋ฐ์ดํฐ ์ธ์ด์ ๊ฐ์ฒด ์ ์ ์ธ์ด
- SQL๊ณผ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด
- ๋ชจ๋ธ๋ง ์ธ์ด
- ์คํฌ๋ฆฝํฐ ์ธ์ด
- HTTP์ ์ธํฐ๋ท ์๊ฒฉ ํจ์์ ๊ฐ์ ํ๋กํ ์ฝ
โ๐ป ์ค๋์ ์ ๋ฆฌโ๐ป
- ํ์ฑ(Parsing)์ ๋ถํดํ๊ณ ๋ถ์ํ์ฌ ๋ชฉ์ ์ ๋ง๊ฒ ๊ตฌ์กฐ๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ
- ํ์ฑํ๋ ์ญํ ์ ํ์(parser) ๋ผ๊ณ ๋ถ๋ฆ
- ํ์ฑ ๋ฐฉ๋ฒ
- ํ์๊ฐ ์ ์ฉ๋๋ ๋ค์ํ ์ฌ๋ก
๐ ์ฐธ๊ณ ์๋ฃ ๐
๋ฐ์ํ