3Áß ¹®ÀÚ(Trigraph)¶õ ¼¼ °³ÀÇ ¿¬¼ÓµÈ ¹®ÀÚ¸¦ ÇϳªÀÇ ¹®ÀÚ·Î ´ëüÇϴ ǥÇöÀÌ´Ù. Àß ¾Ë´Ù½ÃÇÇ C ¾ð¾î´Â ¹Ì±¹¿¡ ÀÇÇØ ¸¸µé¾îÁ³°í ±×·¯´Ùº¸´Ï ÀÚ±â³× ³ª¶óÀÇ ¹®ÀÚ ÄÚµåÀÎ ASCIIÇ¥¿¡ Á¤ÀǵǾî ÀÖ´Â { } [ ] ¹®ÀÚµéÀ» º° »ý°¢¾øÀÌ ±¸µÎÁ¡À¸·Î Á¤ÀÇÇϰí ÀÖ´Ù. ±×·±µ¥ À¯·´ÀÇ ¸î °³ ±¹°¡µéÀº ¿µ¾î¿¡ ¾ø´Â ÀÚ½ÅÀÇ °íÀ¯ÇÑ ±ÛÀÚ(¿ò¶ó¿ìÆ® µî)¸¦ Ç¥ÇöÇϱâ À§ÇØ ÀÌ ¹®ÀÚ Äڵ忡 ´Ù¸¥ ¹®ÀÚ¸¦ ÇÒ´çÇØ¼ »ç¿ëÇϰí ÀÖÀ¸¸ç ±×·¯´Ù º¸´Ï ÀÌ·± ³ª¶óÀÇ Å°º¸µå¿¡´Â ASCIIÇ¥¿¡ ÀÖ´Â 9°³ÀÇ ¹®ÀÚµéÀÌ ¾øÀ» ¼öµµ ÀÖ´Ù. ¿ì¸® ³ª¶óÀÇ °æ¿ìµµ \ ¹®ÀÚ¸¦ ¿øÈ Ç¥½ÃÀÎ \·Î ´Ù¸£°Ô Ç¥½ÃÇϰí ÀÖÁö ¾ÊÀº°¡?
±×·¡¼ CÇ¥ÁØÀº C¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ¹®ÀÚµéÀ» ¸ðµç ³ª¶ó¿¡ °øÅëÀûÀÎ ¿µ¹®ÀÚ, ¼ýÀÚ¿Í ¸î °¡Áö ±âÈ£¸¸À¸·Î Á¦ÇÑÇϰí ÀÖÀ¸¸ç ³ª¸ÓÁö ¹®ÀÚµéÀº Ç¥ÁØ¿¡ ÀÖ´Â ¹®ÀÚµéÀÇ Á¶ÇÕÀ¸·Î ÀÔ·ÂÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇØ¾ß ÇÒ Çʿ䰡 »ý±ä °ÍÀÌ´Ù. ÀÌ·± ÀÌÀ¯·Î C Ç¥ÁØÀº 3Áß ¹®ÀÚ¸¦ Á¤ÀÇÇϰí ÀÖ´Ù. ¹°·Ð Űº¸µå¿¡ ÀÌ·± ¹®ÀÚµéÀÌ ÀÖ´Ù¸é ±»ÀÌ 3Áß ¹®ÀÚ¸¦ ¾²Áö ¾Ê¾Æµµ µÈ´Ù. 3Áß ¹®ÀÚÀÇ Á¾·ù´Â ´ÙÀ½°ú °°´Ù.
|
3Áß ¹®ÀÚ |
´ëü ¹®ÀÚ |
3Áß ¹®ÀÚ |
´ëü ¹®ÀÚ |
|
??= |
# |
??/ |
\ |
|
??' |
^ |
??! |
| |
|
??( |
[ |
??) |
] |
|
??< |
{ |
??< |
} |
|
??- |
~ |
|
|
??·Î ½ÃÀÛÇÏ´Â ¼¼ °³ÀÇ ¹®ÀÚ¸¦ ¿¬¼ÓÀ¸·Î »ç¿ëÇϸé ÀÌ ¹®ÀÚ´Â ÄÄÆÄÀÏ·¯°¡ ÅäÅ«À» ºÐ¼®ÇÏ´Â °úÁ¤¿¡¼ ´ëü ¹®ÀÚ·Î ¹Ù²ï´Ù. ´ÙÀ½ ¿¹Á¦´Â 3Áß ¹®ÀÚ·Î ÀÛ¼ºÇÑ °ÍÀÌ´Ù. ±²ÀåÈ÷ ÀÌ»óÇØ º¸ÀÌÁö¸¸ Àß ÄÄÆÄÀϵǸç Trigraph Test #1. num is 2¸¦ Ãâ·ÂÇÑ´Ù.
|
¿¹ Á¦ : Trigraph |
??=include <Turboc.h>
void main()
??<
int ar[5]=??<1,2,3,4,5??>;
printf("Trigraph Test ??=1. num is %d\n",ar??(1??));
??>
{ } °ýÈ£ ´ë½Å ??< ??>°ýÈ£¸¦ »ç¿ëÇÒ ¼ö ÀÖ°í ¹è¿À» Ç¥±âÇÒ ¶§µµ [ ] ´ë½Å ??( ??)¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´Ù¼Ò È¥¶õ½º·¯¿ö º¸À̱⵵ ÇÏ°í °¡µ¶¼ºÀÌ ½ÉÇÏ°Ô ¶³¾îÁö±â´Â ÇÏÁö¸¸ CÇ¥ÁØ¿¡ ÀÇÇØ Á¤»óÀûÀÎ ¼Ò½º·Î ÀÎÁ¤µÈ´Ù. Àç¹ÌÀÖ´Â °ÍÀº 3Áß ¹®ÀÚ Ä¡È¯Àº ±¸¹® ÇØ¼®(Parsing) Àü¿¡ ÀϾ¹Ç·Î ¹®ÀÚ¿ »ó¼ö¿¡ ÀÖ´Â 3Áß ¹®ÀÚ±îÁöµµ ġȯµÈ´Ù´Â Á¡ÀÌ´Ù. ±×·¡¼ ¹®ÀÚ¿ ³»¿¡¼ ºÎÀÛ¿ëÀÌ ¹ß»ýÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ ºÎÀÛ¿ëÀ» ÇØ°áÇϱâ À§ÇØ È®Àå¿¿¡ 3Áß ¹®ÀÚÀÇ ¼±µÎ·Î »ç¿ëµÇ´Â ?¸¦ Ç¥±âÇÒ ¼ö ÀÖ´Â \?°¡ µû·Î Á¤ÀǵǾî ÀÖ´Â °ÍÀÌ´Ù.
ÀÌ ¿Ü¿¡µµ C++ Ç¥ÁØÀº ¿¬»êÀÚ³ª ±¸µÎÁ¡À» À§ÇÑ ´ëü ÅäÅ«ÀÎ ÀÌÁß ¹®ÀÚ(Alternative token)¶ó´Â °Íµµ Á¤ÀÇÇϰí ÀÖ´Ù. ¿¹¸¦ µé¾î <%´Â {·Î ´ëüµÇ¸ç %>´Â }·Î ´ëüµÇ´Â ½ÄÀε¥ ºñÁÖ¾ó C++°ú Dev-C++Àº 2Áß ¹®ÀÚ¸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù. Űº¸µå¿¡ { } ¹®ÀÚ°¡ ¾ø´Â ³ª¶óµéÀº 3Áß ¹®ÀÚ°¡ ÇÊ¿äÇϰÚÁö¸¸ ¿ì¸®³ª¶ó Űº¸µå¿¡´Â ÀÌ ¹®ÀÚµéÀÌ ¸ðµÎ ÀÖÀ¸¹Ç·Î ¿ì¸®°¡ 3Áß ¹®ÀÚ¿¡ °ü½ÉÀ» °¡Á®¾ß ÇÒ ÀÌÀ¯´Â ÀüÇô ¾ø´Â ¼ÀÀÌ´Ù.
Âü°í
¾Õ¿¡¼ ¹®ÀÚÇü º¯¼ö¿¡´Â ¹®ÀÚÀÇ ¾Æ½ºÅ° Äڵ尪ÀÌ ÀúÀåµÇ¸ç ¹®ÀÚ »ó¼öµµ ¾Æ½ºÅ° Äڵ尪À¸·Î Æò°¡µÈ´Ù°í ¼³¸íÇß´Ù. ±×·¯³ª ÀÌ´Â Á¤È®ÇÏ°Ô ¸»ÇÏ¸é »ç½ÇÀÌ ¾Æ´Ï´Ù. À©µµ¿ìÁî ȯ°æ¿¡¼´Â »ç½ÇÀÌ°í ´ëºÎºÐÀÇ È¯°æ¿¡¼µµ ÀÌ ¼³¸íÀÌ ¸Â´Ù. ±×·¯³ª C ½ºÆÑ¿¡ ¹®ÀÚ ÄÚµå´Â ¹Ýµå½Ã ¾Æ½ºÅ° Äڵ忩¾ß ÇÑ´Ù°í ¸í½ÃµÇ¾î ÀÖÁö ¾ÊÀ¸¸ç ´Ù¸¥ ȯ°æ¿¡¼´Â ¹®ÀÚ ÄÚµå ü°è°¡ ´Þ¶óÁú ¼öµµ ÀÖ´Ù. EBCDICÀ» ¾²´Â ȯ°æ, À¯´ÏÄڵ带 ¾²´Â ȯ°æµµ ÀÖÀ¸¹Ç·Î 'A'ÀÇ ¹®ÀÚ Äڵ尡 Ç×»ó 65¶ó°í ÇÒ ¼ö ¾ø´Ù.
ÀÌ Ã¥Àº Á¤È®ÇÑ ¼³¸íº¸´Ù´Â ÀÌÇØ¸¦ ½±°Ô ÇÏ´Â ÂÊÀ¸·Î ÀÛ¼ºµÇ¾î ÀÖ´Ù. Á¤È®ÇÑ °Íµµ ÁÁÁö¸¸ óÀ½ºÎÅÍ ³Ê¹« »ó¼¼ÇÏ°Ô ¸ðµç ¿¹¿ÜÀûÀÎ ¹®¹ý±îÁö ´Ù ¼³¸íÇÏ·Á¸é Á¤Àǰ¡ ±æ°í º¹ÀâÇØÁø´Ù. ¶ÇÇÑ ¿©·¯ºÐµéµµ ÀÌ ¹®¹ýµéÀ» ÇѲ¨¹ø¿¡ Á¤È®ÇÏ°Ô °øºÎÇÏ·Á°í ÇÏ¸é ¹«Ã´ ÇǰïÇØÁø´Ù. ±×·¡¼ óÀ½¿¡ ´Ù¼Ò ºÎÁ¤È®ÇÑ ¸éÀÌ ÀÖ´õ¶óµµ Á÷°üÀûÀ¸·Î ÀÌÇØÇϱ⠽¬¿î ÂÊÀ¸·Î ¼³¸íÀ» Àü°³Çϱâ·Î ÇÑ´Ù. ¹®¹ýÀÇ »ó¼¼ÇÑ ¸é°ú ¿¹¿ÜÀûÀÎ »çÇ׿¡ ´ëÇØ¼´Â ±âº»À» ÀÍÈù ÈÄ¿¡ ½ºÆÑ ¹®¼¸¦ º¸¸é¼ ¿¬±¸Çصµ ´ÊÁö ¾Ê´Ù.