Next: Changing Indent Style, Previous: Syntactic Analysis, Up: Custom C Indent [Contents][Index]
C¤Î»ú²¼¤²µ¡¹½¤Ï¡¢¹½Ê¸²òÀÏ¤ÇÆÀ¤é¤ì¤¿¹½Ê¸¹½À®Í×Áǥꥹ¥È
c-syntactic-context
¤ò»È¤Ã¤Æ¡¢¸½ºß¹Ô¤Î»ú²¼¤²Éý¤ò·×»»¤·¤Þ¤¹¡£
¤³¤Î¥ê¥¹¥È¤Î³ÆÍ×ÁǤϡ¢¹½Ê¸¥·¥ó¥Ü¥ë¤ò´Þ¤à¥³¥ó¥¹¥»¥ë¤Ç¤¹¤¬¡¢
¥Ð¥Ã¥Õ¥¡Æâ°ÌÃÖ¤ò´Þ¤ó¤Ç¤¤¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£
¥ê¥¹¥È¤Î³ÆÍ×ÁǤϡ¢ºÇ½ªÅª¤ÊÁí»ú²¼¤²Î̤Ë2¤Ä¤ÎÊýË¡¤Ç´óÍ¿¤·¤Þ¤¹¡£
¤Þ¤º¡¢³Æ¹½Ê¸¥·¥ó¥Ü¥ë¤Ë»ú²¼¤²¥ª¥Õ¥»¥Ã¥È¤òÂбþÉÕ¤±¤ëÏ¢Áۥꥹ¥È
c-offsets-alist
¤«¤éÍ×ÁǤòõ¤¹¤¿¤á¤Ë¹½Ê¸¥·¥ó¥Ü¥ë¤¬»È¤ï¤ì¤Þ¤¹¡£
³Æ¹½Ê¸¹½À®¥·¥ó¥Ü¥ë¤Î¥ª¥Õ¥»¥Ã¥È¤òÁí»ú²¼¤²Î̤˲䨤ޤ¹¡£
¤Ä¤®¤Ë¡¢¥ê¥¹¥È¤ÎÍ×ÁǤ˥Хåե¡Æâ°ÌÃÖ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ì¤Ð¡¢
¤½¤Î²Õ½ê¤Î·å°ÌÃÖ¤ò»ú²¼¤²Î̤˲䨤ޤ¹¡£
¤³¤ì¤é¤Î¥ª¥Õ¥»¥Ã¥È¤È·å¿ô¤ò¤¹¤Ù¤Æ²Ã¤¨¤ë¤³¤È¤Ç¡¢Áí»ú²¼¤²Î̤¬µá¤Þ¤ê¤Þ¤¹¡£
°Ê²¼¤ÎÎã¤ÇC¤Î»ú²¼¤²µ¡¹½¤Îưºî¤òÀâÌÀ¤·¤Þ¤·¤ç¤¦¡£
1: void swap (int& a, int& b) 2: { 3: int tmp = a; 4: a = b; 5: b = tmp; 6: }
3¹ÔÌܤ˥ݥ¤¥ó¥È¤¬¤¢¤Ã¤Æ¡¢¤½¤³¤ÇTAB¤ÈÂǤäƻú²¼¤²¤·Ä¾¤¹¤È¤·¤Þ¤·¤ç¤¦¡£ ¾å¡Êsee Syntactic Analysis¡Ë¤Ç¤âÀâÌÀ¤·¤Þ¤·¤¿¤¬¡¢ ¤½¤Î¹Ô¤ËÂФ¹¤ë¹½Ê¸¹½À®Í×Áǥꥹ¥È¤Ï¤Ä¤®¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
((defun-block-intro . 28))
¤³¤³¤Ç¤Ï¡¢¤Þ¤º¡¢Ï¢Áۥꥹ¥Èc-offsets-alist
¤«¤é
defun-block-intro
¤òõ¤¹¤³¤È¤«¤é»Ï¤á¤Þ¤¹¡£
¤½¤Î·ë²Ì¤¬À°¿ôÃÍ2¤Ç¤¢¤Ã¤¿¤È¤·¤Þ¤·¤ç¤¦¡£
¤³¤ÎÃͤò·×»»Ãæ¤Î¹ç·×¡Ê0¤Ç½é´ü²½¤µ¤ì¤Æ¤¤¤ë¡Ë¤Ë²Ã¤¨¤Æ¡¢
Áí»ú²¼¤²Î̤϶õÇò2ʸ»ú¤È¹¹¿·¤µ¤ì¤Þ¤¹¡£
¤Ä¤®¤ÎÃʳ¬¤Ï¡¢¥Ð¥Ã¥Õ¥¡Æâ°ÌÃÖ28¤Î·å°ÌÃÖ¤òµá¤á¤ë¤³¤È¤Ç¤¹¡£ ¥Ð¥Ã¥Õ¥¡Æâ°ÌÃÖ28¤ÎÃæ³ç¸Ì¤Ï0·åÌܤˤ¢¤ë¤Î¤Ç¡¢ 0¤ò·×»»Ãæ¤Î¹ç·×¤Ë²Ã¤¨¤Þ¤¹¡£ 3¹ÔÌܤˤϹ½Ê¸Í×ÁǤ¬1¤Ä¤·¤«¤Ê¤¤¤Î¤Ç¡¢Áí»ú²¼¤²Î̤϶õÇò2ʸ»ú¤È¤Ê¤ê¤Þ¤¹¡£
1: int add (int val, int incr, int doit) 2: { 3: if (doit) 4: { 5: return(val + incr); 6: } 7: return(val); 8: }
4¹ÔÌܤÇTAB¤ÈÂǤĤȡ¢Æ±¤¸²áÄø¤ò·«¤êÊÖ¤·¤Þ¤¹¤¬¡¢ °Û¤Ê¤ëÃͤò»È¤Ã¤Æ·×»»¤µ¤ì¤Þ¤¹¡£ ¤³¤Î¹Ô¤ËÂФ¹¤ë¹½Ê¸¹½À®Í×Áǥꥹ¥È¤Ï¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¹¡£
((substatement-open . 43))
¤Þ¤º¤Ï¡¢¥·¥ó¥Ü¥ësubstatement-open
¤òÏ¢Áۥꥹ¥È
c-offsets-alist
¤«¤éõ¤·¤Þ¤¹¡£
¤³¤Î¥·¥ó¥Ü¥ë¤ËÂФ¹¤ë¥ª¥Õ¥»¥Ã¥È¤¬2¤Ç¤¢¤Ã¤¿¤È¤·¤Þ¤·¤ç¤¦¡£
¤³¤Î»þÅÀ¤Ç·×»»Ãæ¤Î¹ç·×¤Ï2¡Ê0 + 2 = 2¡Ë¤Ç¤¹¡£
¤Ä¤®¤Ë¡¢¥Ð¥Ã¥Õ¥¡Æâ°ÌÃÖ43¡Ê3¹ÔÌܤÎif
¤Î‘i’¤Î°ÌÃ֡ˤÎ
·å°ÌÃÖ2¤ò²Ã¤¨¤Þ¤¹¡£
·ë²Ì¤È¤·¤Æ¡¢¶õÇò4ʸ»ú¤È¤¤¤¦Áí»ú²¼¤²Î̤¬µá¤Þ¤ê¤Þ¤¹¡£
¹Ô¤ò²òÀϤ·¤¿·ë²Ì¡¢c-offsets-alist
¤Ë¸½¤ì¤Ê¤¤¹½Ê¸¥·¥ó¥Ü¥ë¤¬
¤ß¤Ä¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥·¥ó¥Ü¥ë¤Ï̵»ë¤·¤Þ¤¹¡£
¤·¤«¤·¡¢ÊÑ¿ôc-strict-syntax-p
¤¬nil
°Ê³°¤ÎÃͤǤ¢¤ì¤Ð¡¢
¥¨¥é¡¼¤òÊó¹ð¤·¤Þ¤¹¡£