ToDo:
¤Ò¤È¤Ä¤á¤Ï libcpp ¤È GCC ¤Î¥Ï¥Ã¥·¥å¤Î¶¦Í¤·¤Ã¤×¤ê¤Ç¡¢ ¶¦Í¤Ç¤¤ë¤Ä¤¯¤ê¤Ë¤Ê¤Ã¤Æ¤ë¤Î¤Ï CHoP ºî¤Ã¤¿»þ¤Ë¤ï¤«¤Ã¤Æ¤¿¤ó¤À¤±¤É¡¢ ¶ñÂÎŪ¤Ë¤³¤ì¤É¤¦»È¤¦¤Í¤ó¤È¤ï¤«¤ê¤Ë¤¯¤«¤Ã¤¿¤Î¤È libcpp ¥À¥ë¡¼¤È»×¤Ã¤Æ¤ä¤á¤¿¤Î¤À¤Ã¤¿¡£ ¤±¤É¤Þ¤¡º£ÅÙ¸«¤ë¡£
¤Õ¤¿¤Ä¤á¤ÏÀþ·¿Ãµº÷¤È¥Ð¥é¥ó¥¹ÌڤäƤɤΤ¯¤é¤¤¤Î¥µ¥¤¥º¤«¤é ¥Ð¥é¥ó¥¹ÌÚ¤ÎÊý¤¬Â®¤¯¤Ê¤ë¤Í¤ó¡¢ ¤È¤¤¤¦Ïäȥϥå·¥å¤Ê¤é¤É¤¦¤ä¤Í¤ó ¤È¤¤¤¦¤è¤¦¤Ê¡£ ¥¡¼Ä¹¤Ë¤â¤è¤ë¤«¤é¬¤ë¤·¤«¤Ê¤¤¤È¤¤¤¦¤Î¤¬´ðËÜŪ¤ÊÏäÀ¤í¤¦¤±¤É¡¢ ¤Ê¤ó¤«Á°¤Ë¤µ¤µ¤À¤µ¤ó¤¬ Ruby ¤Ç Àþ·¿¤Ë¤·¤¿¤È¤«¤É¤¦¤³¤¦¸À¤Ã¤Æ¤ª¤é¤ì¤¿¤Î¤Ç º£ÅÙ¸«¤ë¡£
(00:55)
¤¤¤¸¤Ã¤È¤¤¤¿
http://zinnia.dyndns.org/~hiki/SandBox/?2007%C7%AF%C7%AF%CB%F6+%28%C6%E9%29
(02:51)
(04:10)
kwskk Æ°¤«¤Ë¤ã¡¼¤È¤¤¤¦Ïäò¤¢¤Á¤³¤Á¤Ç ʹ¤¤¤¿¤ó¤À¤±¤ÉËͤλý¤Ã¤Æ¤ë´Ä¶¤Ï¤¿¤¤¤Æ¤¤Æ°¤¤¤Æ¤·¤Þ¤Ã¤¿¡£ IE6, Safari, Firefox(Linux,MacOSX,Windows), w3m(noscript ¤À¤È XMLHTTPRequest »È¤ï¤Ê¤¤) ¡£ ¤Þ¤¡ Web ¤È¤«¤Ï¤É¤¦¤Ç¤â¤¤¤¤¤«¤é elisp ¤È¤«ÊÙ¶¯¤·¤Æ¤ß¤è¤¦ (¤¿¤Ö¤ó¤·¤Ê¤¤)¡£
¤Ê¤ó¤«¤È¤ê¤¢¤¨¤º¥í¥°¤ò¸«¤ë¤È¤Ò¤ç¤Ã¤È¤·¤¿¤é¾®Ê¸»ú¥¹¥¿¡¼¥È¤Ç ÆþÎϤ·¤Æ¤ß¤Æ¤ë¿Í¤¬¤¤¤ë¤Ê¡ª¤È»×¤Ã¤¿¤Î¤Ç ·Ù¹ð¤òÆþ¤ì¤Æ¤ß¤¿¤±¤É¤Þ¤¡¤É¤¦¤Ç¤â¤¤¤¤¡£
(23:35)
Á° | 2007ǯ 12·î |
¼¡ | ||||
Æü | ·î | ²Ð | ¿å | ÌÚ | ¶â | ÅÚ |
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Á´¤Æ¥ê¥ó¥¯¥Õ¥ê¡¼¤Ç¤¹¡£ ¥³¡¼¥ÉÊҤϼ«Í³¤Ë»ÈÍѤ·¤Æ¤¤¤¿¤À¤¤¤Æ¹½¤¤¤Þ¤»¤ó¡£ ¤½¤Î¾¤Î¤â¤Î¤ÏGPL°·¤¤¤Ç¤¢¤ì¤Ð¤¢¤é¤æ¤ë»ÈÍѤ˴ؤ·¤Æʸ¶ç¤Ï¸À¤¤¤Þ¤»¤ó¡£ ¤Ê¤Ë¤«¤¢¤ì¤Ð²¼µ¥á¡¼¥ë¥¢¥É¥ì¥¹¤Ø¡£
> ¥Ï¥Ã¥·¥å¤Î¶¦Í
¤È¤ê¤¢¤¨¤ºÅ¬Åö¤Ëȯ¸À¤·¤¿ÀÕǤ¤È¤·¤ÆÄ´¤Ù¤¿¤È¤³¤í¡¢
www.codeblog.org/gonzui/markup/gcc-4.1.0/gcc/c-opts.c#l214
¤³¤³¤Çident_hash¤Çcpp_create_reader¤·¤Æ¤Æ¡¢libcpp¤Ï¤³¤³¤ÇÅϤµ¤ì¤¿¥Æ¡¼¥Ö¥ë¤ò¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤È¤·¤Æ»È¤¦¡Ê¿ʬ¡Ë¤ó¤Ç¡¢GCC¦¤Ç¤Ï¡¢¡ÖcharÇÛÎó¢ªidentifier¡×¤ÎÊÑ´¹¤ò
www.codeblog.org/gonzui/markup/gcc-4.1.0/gcc/stringpool.c#l108
¤³¤³¤Ç¤ä¤Ã¤Æ¤Æ¡¢¤³¤ì¤âident_hash¤«¤éõ¤·¤Æ¤ë¤Î¤Ç¶¦Í¤Ç¤¤Æ¤ë¡£
¤Î¡¢¤è¤¦¤Ë¸«¤¨¤Þ¤¹¡£
¤¢¡¢¤¿¤·¤«¤ËÁÇľ¤Ë¶¦Í¤Ç¤¤Æ¤Þ¤¹¤Í¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
¤Ê¤ó¤« CHoP ¤Î SVN ¥ê¥Ý¥¸¥È¥ê¸«¤Æ¤ë¤È¤³¤ìÅϤ·¤Æ¤Á¤ã¤ó¤È¶¦Í¤·¤è¤¦¤ÈºÇ½é¤Ï¤·¤Æ¤¿¤Î¤Ë¡¢Äü¤á¤Æ NULL ÅϤ·¤Æ libcpp ¦¤Ç´ÉÍý¤·¤Æ¤â¤é¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤ëÍͻҤ¬½Ð¤Æ¤¤Þ¤·¤¿¡£
¤¢¤È¤Þ¤¡ libcpp/lex.c ¤È¤«¤Ï lex ¤·¤Ê¤¬¤é hash Ãͺî¤Ã¤Æ¤Þ¤¹¤Í¡£ L"str" ¤Î½èÍý¤È¤«¤â
¡¡¡¡case 'L':
¡¡¡¡¡¡/* 'L' may introduce wide characters or strings.¡¡*/
¡¡¡¡¡¡if (*buffer->cur == '\'' || *buffer->cur == '"')
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡lex_string (pfile, result, buffer->cur - 1);
¡¡¡¡¡¡¡¡¡¡break;
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡/* Fall through.¡¡*/
¡¡¡¡case '_':
¡¡¡¡case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
¤Á¤ã¤ó¤È TCC ¤ß¤¿¤¤¤Ê´¶¤¸¤Ë¤Ê¤Ã¤Æ¤ë¤Ê¤¡¤È»×¤¤¤Þ¤·¤¿¡£