[CS] ์ปดํ์ผ๋ฌ(Compiler)์ ์ธํฐํ๋ฆฌํฐ(Interpreter)
โจ ์ปดํ์ผ๋ฌ์ ์ธํฐํ๋ฆฌํฐ:
๋ ๋ค ๊ณ ๊ธ ์ธ์ด (๊ฐ๋ฐ์๊ฐ ์์ฑํ source code)๋ฅผ ๊ธฐ๊ณ๊ฐ ์ดํดํ ์ ์๋ ์ธ์ด(machine code)๋ก ๋ฒ์ญํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ด๋ค.
๊ณ ๊ธ ์ธ์ด๋? ์ฌ๋์ด ์ดํดํ ์ ์๋ ์ธ์ด์ด๋ค (C, python ๋ฑ ๋๋ถ๋ถ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด)
โจ ์ปดํ์ผ๋ฌ vs ์ธํฐํ๋ฆฌํฐ
๊ทธ๋ ๋ค๋ฉด ๋ฌด์์ด ๋ค๋ฅธ๊ฐ?
์ปดํ์ผ๋ฌ:
ํ๋ก๊ทธ๋จ ์ ์ฒด๋ฅผ ์ค์บํ ๋ค ํ๊บผ๋ฒ์ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ค.
์ค์บ์ด ์๋ฃ๋ ๋๊น์ง ์๋ฌ ๋ฉ์ธ์ง๋ฅผ ํ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ฒ๊น ์ด ์ด๋ ต๋ค.
์ปดํ์ผ์ด ์๋ฃ๋ ์ดํ์ ํ๋ก๊ทธ๋จ ์คํ ์๋๊ฐ ๋น ๋ฅด๋ค๋ ์ฅ์ ์ด ์๋ค.
์ค๊ฐ ์ธ์ด(Intermidiate code)๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํ๋ค. (์ค๊ฐ ์ธ์ด๋? ์ปดํ์ผ๋ฌ๊ฐ ์์ ์ธ์ด๋ก ๋ ํ๋ก๊ทธ๋จ์ ๋ชฉ์ ์ฝ๋๋ก ๋ฒ์ญํ๋ ๊ณผ์ ์์ ์์ฑ๋๋ ๋ด๋ถ์ ์ฝ๋์ด๋ค.)
๋ํ์ ์ธ ์ปดํ์ผ๋ ์ธ์ด: C, C++
์ธํฐํ๋ฆฌํฐ:
ํ๋ก๊ทธ๋จ์ ํ ์ค์ฉ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ฉฐ ์คํํ๋ค.
ํ๋ก๊ทธ๋จ ์คํ ์๋๊ฐ ๋๋ฆฌ์ง๋ง, ์๋ฌ๋ฅผ ๋ฐ๊ฒฌํ๋ ์๊ฐ ์คํ์ ๋ฉ์ถ๊ธฐ ๋๋ฌธ์ ๋๋ฒ๊น ์ด ์ฝ๋ค.
์ค๊ฐ ์ธ์ด๋ฅผ ์์ฑํ์ง ์์ผ๋ฉฐ, ๋ฐ๋ผ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ ์ฐจ์งํ๋ค.
๋ํ์ ์ธ ์ธํฐํ๋ฆฌํฐ๋ ์ธ์ด: Javascript, Python, PHP
โจ ์ฐธ๊ณ ์๋ฃ