๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป DEV/Computer Science

[CS] ์ปดํŒŒ์ผ๋Ÿฌ(Compiler)์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ(Interpreter)

by vodkassi 2021. 5. 27.
728x90

โœจ ์ปดํŒŒ์ผ๋Ÿฌ์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ:

๋‘˜ ๋‹ค ๊ณ ๊ธ‰ ์–ธ์–ด (๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ source code)๋ฅผ ๊ธฐ๊ณ„๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด(machine code)๋กœ ๋ฒˆ์—ญํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

๊ณ ๊ธ‰ ์–ธ์–ด๋ž€? ์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด์ด๋‹ค (C, python ๋“ฑ ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด)

 

๊ณ ๊ธ‰ vs ์ €๊ธ‰ ์–ธ์–ด

โœจ ์ปดํŒŒ์ผ๋Ÿฌ vs ์ธํ„ฐํ”„๋ฆฌํ„ฐ

๊ทธ๋ ‡๋‹ค๋ฉด ๋ฌด์—‡์ด ๋‹ค๋ฅธ๊ฐ€? 

 

์ปดํŒŒ์ผ๋Ÿฌ:

 

ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด๋ฅผ ์Šค์บ”ํ•œ ๋’ค ํ•œ๊บผ๋ฒˆ์— ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•œ๋‹ค.

์Šค์บ”์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์—๋Ÿฌ ๋ฉ”์„ธ์ง€๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋””๋ฒ„๊น…์ด ์–ด๋ ต๋‹ค.

์ปดํŒŒ์ผ์ด ์™„๋ฃŒ๋œ ์ดํ›„์˜ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

์ค‘๊ฐ„ ์–ธ์–ด(Intermidiate code)๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. (์ค‘๊ฐ„ ์–ธ์–ด๋ž€? ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์›์‹œ ์–ธ์–ด๋กœ ๋œ ํ”„๋กœ๊ทธ๋žจ์„ ๋ชฉ์  ์ฝ”๋“œ๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๊ณผ์ •์—์„œ ์ƒ์„ฑ๋˜๋Š” ๋‚ด๋ถ€์  ์ฝ”๋“œ์ด๋‹ค.)

๋Œ€ํ‘œ์ ์ธ ์ปดํŒŒ์ผ๋“œ ์–ธ์–ด: C, C++

 

์ธํ„ฐํ”„๋ฆฌํ„ฐ:

 

ํ”„๋กœ๊ทธ๋žจ์„ ํ•œ ์ค„์”ฉ ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•˜๋ฉฐ ์‹คํ–‰ํ•œ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์†๋„๊ฐ€ ๋Š๋ฆฌ์ง€๋งŒ, ์—๋Ÿฌ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋Š” ์ˆœ๊ฐ„ ์‹คํ–‰์„ ๋ฉˆ์ถ”๊ธฐ ๋•Œ๋ฌธ์— ๋””๋ฒ„๊น…์ด ์‰ฝ๋‹ค.

์ค‘๊ฐ„ ์–ธ์–ด๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๋”ฐ๋ผ์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋œ ์ฐจ์ง€ํ•œ๋‹ค.

๋Œ€ํ‘œ์ ์ธ ์ธํ„ฐํ”„๋ฆฌํ‹ฐ๋“œ ์–ธ์–ด: Javascript, Python, PHP

 

 

โœจ ์ฐธ๊ณ ์ž๋ฃŒ

๋Œ“๊ธ€