0921 - tamagoyakii/minishell GitHub Wiki

  1. ์ž๋ฃŒ ๊ตฌ์กฐ ์„ ํƒ
    • ํŠธ๋ฆฌ ๊ตฌ์กฐ vs. ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ๊ตฌ์กฐ // ๊ณ ๋ฏผ ์ค‘
  2. ํŒŒ์‹ฑ ๋ฐฉ๋ฒ• ์„ ํƒ
    • ์žฌ๊ท€ ํ•˜ํ–ฅ ํŒŒ์„œ(recursive descent parser)
  3. ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
    • unclosed ", '
    • | ๋กœ ๋๋‚˜๋Š” ๊ฒฝ์šฐ
    • \, ;
    • ๋ฐฑํ‹ฑ์€ ์ฒ˜๋ฆฌ ์•ˆํ•จ

Parsing Part

  1. ์ดˆ๊ธฐํ™”
  2. ํ•œ ์ค„ ์ž…๋ ฅ ๋ฐ›๊ธฐ
  3. ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์น˜ํ™˜ํ•˜๊ธฐ
  4. ์ฝ์œผ๋ฉด์„œ ํ† ํฐํ™” ์‹œํ‚ค๊ธฐ + "unclosed quote" ์ฒ˜๋ฆฌํ•˜๊ธฐ
  5. ๋ฆฌ์ŠคํŠธ ๋˜๋Š” ๋ฐฐ์—ด์— ์ €์žฅํ•˜๊ธฐ
  6. ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ง„ํ–‰ํ•˜๊ธฐ // ํ•„์š” ์‹œ
  7. ๋ฆฌ์ŠคํŠธ/๋ฐฐ์—ด์„ ํŠธ๋ฆฌ๋กœ ๋งŒ๋“ค๊ธฐ