compiler ; ÄÄÆÄÀÏ·¯
|
ÄÄÆÄÀÏ·¯´Â ƯÁ¤ ÇÁ·Î±×·¥ ¾ð¾î·Î ÀÛ¼ºµÈ ¹®ÀåÀ» ó¸®ÇÏ¿© ±â°è¾î ¶Ç´Â ÄÄÇ»ÅͰ¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ÄÚµå·Î º¯°æ½ÃÄÑÁִ Ư¼öÇÑ ¿ëµµÀÇ ÇÁ·Î±×·¥À̶ó°í Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. C ³ª Pascal°ú °°Àº ¾ð¾î·Î ÇÁ·Î±×·¥À» °³¹ßÇÒ °æ¿ì, ÇÁ·Î±×·¡¸Ó´Â ÆíÁý±â¸¦ ÀÌ¿ëÇÏ¿© ÇÑÁÙ ÇÑÁÙ ¹®ÀåÀ» ÀÛ¼ºÇÏ°Ô µÇ´Âµ¥, ÀÌ·¯ÇÑ ÆÄÀϵéÀ» ¼Ò½ºÄÚµå¶ó°í ºÎ¸¥´Ù. ¼Ò½ºÄÚµåÀÇ ÀÛ¼ºÀÌ ³¡³ª¸é ÇÁ·Î±×·¡¸Ó´Â ±× ¼Ò½ºÄÚµåÀÇ ¾ð¾î¿¡ ¸Â´Â ÄÄÆÄÀÏ·¯¸¦ ½ÇÇà½ÃŲ´Ù. ÄÄÆÄÀÏ·¯´Â ½ÇÇà ½Ã¿¡ ¸ðµç ¹®ÀåÀ» ¸ÕÀú ±¸¹®ÀûÀ¸·Î Çϳª¾¿ ºÐÇØÇϰí, (´Ù¸¥ ¹®ÀåÀ» ÂüÁ¶ÇÏ´Â °æ¿ì) ¹®ÀåÀÌ Á¤È®ÇÏ°Ô ÂüÁ¶µÉ ¼ö ÀÖµµ·Ï ¿©·¯ ¹øÀÇ ¿¬¼ÓÀûÀÎ »óÅ¿¡¼ °á°úÄڵ带 ¸¸µç´Ù. ÄÄÆÄÀÏ·Î »ý±ä °á°ú¹°Àº ¸ñÀûÄÚµå(object code) ¶Ç´Â ¸ñÀû ¸ðµâ(object module)À̶ó ºÒ¸®´Âµ¥ - ¿©±â¼ object ¶ó´Â ¿ë¾î°¡ ³ª¿ÔÁö¸¸ object-oriented programming °ú´Â ¾Æ¹« °ü·ÃÀÌ ¾ø´Ù - ¸ñÀûÄÚµå´Â ÇÁ·Î¼¼¼°¡ ÇÑ ¹ø¿¡ ÇÑ ¸í·É¾¿ ó¸®Çϰųª ¶Ç´Â ½ÇÇà½Ãų ¼ö ÀÖ´Â ±â°èÄÚµå(machine code)ÀÌ´Ù. ÃÖ±Ù¿¡ °´Ã¼ÁöÇâ ¾ð¾îÀÇ ÇϳªÀÎ ÀÚ¹Ù¿¡¼´Â, ¾î¶°ÇÑ ÄÄÇ»ÅÍ Ç÷§Æû¿¡¼µµ ½ÇÇàµÉ ¼ö ÀÖ´Â ÄÄÆÄÀÏ °á°ú¹°(À̸¦ ¹ÙÀÌÆ®ÄÚµå¶ó°í ºÎ¸¥´Ù)À» »ý»êÇϴ üÁ¦¸¦ µµÀÔÇß´Ù. ÀÌ ¹ÙÀÌÆ®ÄÚµå´Â ½ÇÇàµÉ Çϵå¿þ¾îÀÇ Á¾·ù¿¡ °ü°è¾øÀÌ µ¿ÀÏÇÑ ³»¿ëÀ¸·Î »ý¼ºµÇ¾î ¼¹ö¿¡ ÀúÀåµÇ´Âµ¥, ÇÊ¿äÇÒ ¶§¸¶´Ù ³×Æ®¿÷À» ÅëÇØ Ŭ¶óÀÌ¾ðÆ®·Î ´Ù¿î·ÎµåµÈ´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ÀÚ¹Ù °¡»ó¸Ó½Å ¶Ç´Â ¹ÙÀÌÆ®ÄÚµå ÇØ¼®±â¶ó°í ºÒ¸®´Â JIT ÄÄÆÄÀÏ·¯¸¦ ÀÌ¿ëÇÏ¿© ¹ÙÀÌÆ®Äڵ带 ´Ù½Ã ÄÄÆÄÀÏ ÇÔÀ¸·Î½á, Àڽſ¡ ¸Â´Â ¸í·É¾î·Î º¯È¯ÇÑ ´ÙÀ½ ½ÇÇà½ÃŰ°Ô µÈ´Ù. |
|
ÀüÅëÀûÀ¸·Î º¸ÅëÀÇ ¿î¿µÃ¼°è¿¡¼´Â ÄÄÆÄÀÏ ÀÌÈÄ¿¡ ¶Ç ÇϳªÀÇ Ãß°¡°úÁ¤ÀÌ ¿ä±¸µÇ´Âµ¥, Çϳª ÀÌ»óÀÇ ¸ñÀû ¸ðµâÀÌ µ¿½Ã¿¡ ½ÇÇàµÇ°í ±×°ÍµéÀÌ ¼·ÎÀÇ ¸í·É¾î³ª µ¥ÀÌÅ͸¦ »óÈ£ ÂüÁ¶ÇÏ°Ô µÉ ¶§, ±× ¸í·É¾î³ª µ¥ÀÌÅÍµé °£ÀÇ »ó´ëÀû À§Ä¡¸¦ Á¤ÇÏ´Â °úÁ¤ÀÌ ±×°ÍÀÌ´Ù. ÀÌ °úÁ¤À» ¸µÅ© ÆíÁý(linkage editing)À̶ó Çϸç, ±× °á°ú¹°Àº ·Îµå ¸ðµâ(load module)À̶ó ÇÑ´Ù.
ÄÄÆÄÀÏ·¯´Â 3¼¼´ë ¾ð¾î(3GL), 4¼¼´ë ¾ð¾î(4GL) ¹× 5¼¼´ë ¾ð¾î(5GL)¿¡ °¢°¢ Àû¿ëµÇ¸ç, ¾î¼Àºí·¯´Â ƯÁ¤ ÇÁ·Î¼¼¼ÀÇ ¾î¼Àºí·¯ ¾ð¾î·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥¿¡ Àû¿ëµÈ´Ù.
| ÀÌ Á¤º¸´Â 1999³â 5¿ù 6ÀÏ¿¡ ¼öÁ¤µÇ¾úÀ¸¸ç, °ºÀ¼ø´Ô²²¼ µµ¿òÀ» Áּ̽À´Ï´Ù. | |