DevLog

2. ํ˜•์‹์–ธ์–ด์™€ ํ˜•์‹๋ฌธ๋ฒ• ๋ณธ๋ฌธ

๐Ÿ’ป CS ์ •๋ฆฌ/์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์„ฑ

2. ํ˜•์‹์–ธ์–ด์™€ ํ˜•์‹๋ฌธ๋ฒ•

Seungjae Lee 2022. 9. 5. 23:01

์ฃผ์š”์šฉ์–ด

  1. ํ˜•์‹์–ธ์–ด(formal language) : ์–ด๋–ค ์•ŒํŒŒ๋ฒณ(alphabet)์—์„œ ์–ป์€ ๊ธฐํ˜ธ(symbol)๋“ค๋กœ ๊ตฌ์„ฑ๋˜๋Š” ๋ฌธ์ž์—ด(string)์˜ ์ง‘ํ•ฉ
  2. context-free ๋ฌธ๋ฒ• : A → γ (๋‹จ, A๋Š” ๋…ผํ„ฐ๋ฏธ๋„ ๊ธฐํ˜ธ์ด๊ณ , γ๋Š” V*์— ์†ํ•˜๋Š” ๋ฌธ์ž์—ด์ด๋‹ค.)
  3. ์ด˜์Šคํ‚ค ๊ณ„์ธต๊ตฌ์กฐ : ์ƒ์„ฑ๊ทœ์น™์˜ ํ˜•ํƒœ์— ๊ฐ€ํ•ด์ง€๋Š” ์ œํ•œ์— ๋”ฐ๋ผ ๋ฏธ๊ตญ์˜ ์˜๋ฌธํ•™์ž ์ด˜์Šคํ‚ค๊ฐ€ 4์ข…๋ฅ˜๋กœ ๋‚˜๋ˆˆ ํ˜•์‹๋ฌธ๋ฒ•
  4. context-sensitive ๋ฌธ๋ฒ• : γ → β (๋‹จ, |γ|≤|β| γ∈V+, β∈V*)
    ์ƒ์„ฑ๊ทœ์น™์— |γ|≤|β|์˜ ์ œํ•œ์„ ๊ฐ€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋น„์œ„์ถ•ํ˜•(noncontracting) ๋ฌธ๋ฒ•์— ์†ํ•จ
  5. ๊ณต๋ฌธ์ž์—ด : ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 0์ธ ๊ฒƒ, ε ํ˜น์€ λ๋กœ ํ‘œ์‹œ
  6. ์ •๊ทœ๋ฌธ๋ฒ• : A → tB A → t ๋˜๋Š” A → Bt A → t (๋‹จ, t ∈ A, B ∈ VN)
    ์ƒ์„ฑ๊ทœ์น™์— ๋”ฐ๋ผ ๋‘ ๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค.
    A → tB, A → t ์™€ ๊ฐ™์€ ์ƒ์„ฑ๊ทœ์น™์„ ๊ฐ–๋Š” ๊ฒƒ์„ ์šฐ์„ ํ˜•(right-linear)๋ฌธ๋ฒ•์ด๋ผ ํ•˜๊ณ  A → Bt, A → t์™€ ๊ฐ™์€ ์ƒ์„ฑ๊ทœ์น™์„ ๊ฐ–๋Š” ๊ฒƒ์„ ์ขŒ์„ ํ˜•(left-linear)๋ฌธ๋ฒ•์ด๋ผ ํ•จ.
  7. ํ˜•์‹๋ฌธ๋ฒ• : ํ˜•์‹์–ธ์–ด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ทœ์น™
  8. ๋…ผํ„ฐ๋ฏธ๋„ : ์–ธ์–ด์—์„œ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ค‘๊ฐ„๊ณผ์ •์˜ ๊ธฐํ˜ธ๋กœ์„œ ๋ณดํ†ต ๋Œ€๋ฌธ์ž๋กœ ํ‘œ์‹œ
  9. ํ„ฐ๋ฏธ๋„ : ์ •์˜๋œ ์–ธ์–ด์˜ ์•ŒํŒŒ๋ฒณ์ด๋‚˜ ๊ธฐํ˜ธ๋กœ์„œ ์˜๋ฌธ์ž์˜ ์†Œ๋ฌธ์ž๋‚˜ ์•„๋ผ๋น„์•„ ์ˆซ์ž, ์—ฐ์‚ฐ์ž ๊ธฐํ˜ธ ๋“ฑ์ด ์†ํ•จ
  10. ๋ฌธ๋ฒ•๊ธฐํ˜ธ : ํ„ฐ๋ฏธ๋„๊ณผ ๋…ผ ํ„ฐ๋ฏธ๋„ ๊ธฐํ˜ธ๋ฅผ ๋ฌธ๋ฒ•๊ธฐํ˜ธ(grammar symbol)๋ผ ํ•˜๋ฉฐ ๋ณดํ†ต V(vocabulary)๋กœ ํ‘œ์‹œ
  11. ํŠœ๋ง๊ธฐ๊ณ„(turing machine) : unrestricted ์–ธ์–ด๋ฅผ ๋ฐ›์•„๋“ค์ด๋Š” ์ธ์‹๊ธฐ
  12. ์œ ๋„(derivation) : ํ•œ ๋ฌธ์ž์—ด์—์„œ ์ƒ์„ฑ๊ทœ์น™์„ ํ•œ ๋ฒˆ ์ ์šฉํ•ด์„œ ๋‹ค๋ฅธ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๋€Œ๋Š” ๊ฒƒ
  13. ์ •๊ทœํ‘œํ˜„(regular expression) : ์ •๊ทœ๋ฌธ๋ฒ•์„ ๊ฐ€์žฅ ์ž˜ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•

์ •๋ฆฌํ•˜๊ธฐ

  1. 2๊ฐ•์—์„œ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ์˜ ์„ค๊ณ„๋ฅผ ์œ„ํ•œ ํ˜•์‹์–ธ์–ด(formal language)์™€ ์ด ์–ธ์–ด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ˜•์‹๋ฌธ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜๋‹ค.
  2. ํ˜•์‹์–ธ์–ด๋ž€ ์–ด๋–ค ์•ŒํŒŒ๋ฒณ(alphabet)์—์„œ ์–ป์€ ๊ธฐํ˜ธ(symbol)๋“ค๋กœ ๊ตฌ์„ฑ๋˜๋Š” ๋ฌธ์ž์—ด๋“ค์˜ ์ง‘ํ•ฉ์„ ๋งํ•˜๋ฉฐ ์ด๋Ÿฌํ•œ ํ˜•์‹์–ธ์–ด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๊ทœ์น™๋“ค์„ ์ด์šฉํ•˜๋Š”๋ฐ ์ด๊ฒƒ์„ ํ˜•์‹๋ฌธ๋ฒ•์ด๋ผ ํ•œ๋‹ค.
  3. ํ˜•์‹๋ฌธ๋ฒ•์€ ๋…ผํ„ฐ๋ฏธ๋„ ๊ธฐํ˜ธ๋“ค์˜ ์œ ํ•œ์ง‘ํ•ฉ VN , ํ„ฐ๋ฏธ๋„ ๊ธฐํ˜ธ๋“ค์˜ ์œ ํ•œ์ง‘ํ•ฉ VT, ์ƒ์„ฑ๊ทœ์น™(production rule)์˜ ์ง‘ํ•ฉ P, ์‹œ์ž‘๊ธฐํ˜ธ S ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ G ๏ผ (VN, VT, P, S) ๋กœ ํ‘œํ˜„ํ•œ๋‹ค.
  4. ํ˜•์‹๋ฌธ๋ฒ•์—์„œ ํ„ฐ๋ฏธ๋„(terminal) ๊ธฐํ˜ธ๋Š” ์ •์˜๋œ ์–ธ์–ด์˜ ์•ŒํŒŒ๋ฒณ์ด๋‚˜ ๊ธฐํ˜ธ๋กœ์„œ ์˜๋ฌธ์ž์˜ ์†Œ๋ฌธ์ž๋‚˜ ์•„๋ผ๋น„์•„ ์ˆซ์ž, ์—ฐ์‚ฐ์ž ๊ธฐํ˜ธ ๋“ฑ์ด ์—ฌ๊ธฐ์— ์†ํ•˜๊ณ , ๋…ผํ„ฐ๋ฏธ๋„(non๏ผterminal) ๊ธฐํ˜ธ๋Š” ์–ธ์–ด์—์„œ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ค‘๊ฐ„๊ณผ์ •์˜ ๊ธฐํ˜ธ๋กœ์„œ ๋ณดํ†ต ๋Œ€๋ฌธ์ž๋กœ ํ‘œ์‹œํ•œ๋‹ค.
  5. ์ƒ์„ฑ๊ทœ์น™์˜ ํ˜•ํƒœ์— ๊ฐ€ํ•ด์ง€๋Š” ์ œํ•œ์— ๋”ฐ๋ผ ๋ฏธ๊ตญ์˜ ์˜๋ฌธํ•™์ž ์ด˜์Šคํ‚ค(Chomsky, N.)๋Š”Type0, Type1, Type2(= CFG), Type3(= ์ •๊ทœ๋ฌธ๋ฒ•)๋“ฑ์˜ 4์ข…๋ฅ˜๋กœ ํ˜•์‹๋ฌธ๋ฒ•์„ ๋‚˜๋ˆ„์—ˆ์œผ๋ฉฐ, ์ด๋ฅผ ์ด˜์Šคํ‚ค Chomsky ๊ณ„์ธต๊ตฌ์กฐ(hierarchy)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
  6. ํ˜•์‹๋ฌธ๋ฒ•์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์ •๊ทœํ‘œํ˜„(regular expression), ๋ฌธ๋ฒ•๋„ํ‘œ(syntax diagram), BNF(Backus-Naur From), EBNF(Extended BNF) ๋“ฑ์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.
Comments