4.2. ¸ÞŸÇÁ·Î±×·¡¹Ö

¸ÅÅ©·Î¸¦ È®Àå½ÃÄÑ ÁÖ´Â ¿ÜºÎÇÊÅ͸¦ »ç¿ëÇÏ´Â ´ë½Å »ç¿ëÇÒ ¼ö ÀÖ´Â ¶Ç´Ù¸¥ ¹æ¹ýÀÌ Àִµ¥, ±×°ÍÀº ¿©·¯ºÐÀÇ ÇÁ·Î±×·¥ÀÇ ÀϺΠȤÀº Àüü¸¦ ¸¸µé¾îÁÖ´Â ÇÁ·Î±×·¥À» Â¥´Â °ÍÀÌ´Ù.

¹«½¼ ¸»Àΰí ÇÏ´Ï, ¿¹¸¦ µé¾î ¼³¸íÇØ º¸¸é, ¿©·¯ºÐÀº ¼Ò½º Äڵ带 Ãâ·ÂÇØÁÖ´Â ÇÁ·Î±×·¥À» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ±×·¯ÇÑ ÇÁ·Î±×·¥ÀÇ ¿¹¸¦ µéÀÚ¸é,

±×·¯ÇÑ ÇÁ·Î±×·¥µéÀ» Çѹø °í·ÁÇØ º¸¶ó!

4.2.1. ÄÄÆÄÀÏ·¯ÀÇ ¹é¿£µå·Î Á¦°øµÇ´Â ¾î¼Àºí·¯ÀÇ ÀÌ¿ë

GCC, SML/NJ, Objective CALM, MIT-Scheme, CMUCL µî°ú °°Àº ÄÄÆÄÀÏ·¯µéÀº °íÀ¯ÀÇ ¾î¼Àºí·¯ ¹é¿£µå¸¦ °®Ãß°í ÀÖ´Ù. ¿©·¯ºÐÀº ÀÌ·¯ÇÑ ¹é¿£µå¸¦ ÀÌ¿ëÇØ¼­ ¾î¼Àºí¸® Äڵ带 ¾òÀ» ¼ö ÀÖ´Ù. ¿©·¯ºÐÀÌ »ç¿ëÇÏ´Â ¾ð¾î¸¦ ÀÌ¿ëÇØ¼­ ¸¸µç ÇÁ·Î±×·¥À» ¾Õ¼­ ¾ð±ÞÇÑ ÄÄÆÄÀÏ·¯·Î ÄÄÆÄÀÏÇØ¼­ ÈǸ¢ÇÑ ¾î¼Àºí¸® Äڵ带 ¾òÀ» ¼ö ÀÖ°í, ±× Äڵ带 ¿©·¯ºÐÀÌ ´õ ³´°Ô ¼öÁ¤Çؼ­ ¸¶À½¿¡ µå´Â ¾î¼Àºí¸® Äڵ带 ¾òÀ» ¼ö ÀÖ´Ù.

4.2.2. ´ºÀúÁö ¸Ó½Å-ÄÚµå ŸŶ

ÇÁ·Î±×·¡¹Ö ¾ð¾î¶ó´Â ¾ÆÀÌÄÜÀ» »ç¿ëÇØ¼­ ±â°è¾î¸¦ ´Ù·ç´Â ŸŶÀÇ °³¹ß°ú °ü·ÃµÈ ÇÁ·ÎÁ§Æ®°¡ ÀÖ´Ù(½ÇÇèÀûÀÎ ML ¹öÁ¯µµ Á¦°øÇÑ´Ù) http://www.eecs.harvard.edu/~nr/toolkit/À» Çѹø µÑ·¯º¸¶ó

4.2.3. TUNES ÇÁ·ÎÁ§Æ®

Free Reflective Computing System À» À§ÇÑ TUNES Project(http://www.tunes.org) ¿¡¼­µµ ÀÚüÀûÀÎ ¾î¼Àºí·¯¸¦ Scheme ¾ð¾îÀÇ È®ÀåÀ¸·Î °³¹ßÇϰí ÀÖ´Ù. ¾ÆÁ÷ Á¦´ë·Î ½ÇÇàµÇ´Â °ÍÀº ¾Æ´ÏÁö¸¸ ¸»ÀÌ´Ù.

tunes ÇÁ·ÎÁ§Æ®¿¡¼­ °³¹ßÁßÀÎ ¾î¼Àºí·¯´Â abstract syntax Æ®¸®¸¦ ´Ù·ç´Âµ¥, ±×·¸°Ô ÇÏ¿©, µð½º¾î¼Àºí·¯·Îµµ, ¾î¼Àºí·¯ ¹®¹ý ¹ø¿ª±â·Îµµ, ÄÄÆÄÀÏ·¯³ª ¾î¼Àºí·¯µéÀÇ °øÅëÀûÀÎ ¹é¿£µå·Îµµ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Çϰí ÀÖ´Ù. ¶ÇÇÑ, Scheme À̶ó´Â ¾ð¾îÀÇ °­·ÂÇÔÀº ¸ÅÅ©·Î ÇÁ·Î¼¼½ÌÀ̳ª ¸ÞŸ ÇÁ·Î±×·¡¹Öó·³ µµÀüÇÒ ¸¸ÇÑ ºÐ¾ßÀÌ´Ù.(?)

The assembler manipulates abstract syntax trees, so it could equally serve as the basis for a assembly syntax translator, a disassembler, a common assembler/compiler back-end, etc. Also, the full power of a real language, Scheme, make it unchallenged as for macroprocessing/metaprogramming.