Next: , Previous: Optimization, Up: Optimization   [Contents][Index]


6.1 ¥¹¥Ô¡¼¥É¤ÎºÇŬ²½

¿¤¯¤Î¥×¥í¥°¥é¥à¤Ï¡¢ »ú¶ç²òÀϤνèÍý¤Ë¿¤¯¤Î»þ´Ö¤òÈñ¤ä¤·¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢ ¥¹¥­¥ã¥Ê¤ÎºÇŬ²½¤Ï¤«¤Ê¤êÂ礭¤ÊÀ­Ç½²þÁ±¤Ë·ë¤Ó¤Ä¤¯¤³¤È¤¬Â¿¤¤¤Î¤Ç¤¹¡£ Flex¤Ë¤è¤ë¥¹¥­¥ã¥Ê¤Ï¡¢ Lex¤Ë¤è¤ë¥¹¥­¥ã¥Ê¤ÈÈæ³Ó¤¹¤ë¤È¤«¤Ê¤ê¹â®¤Ë¤Ê¤ë·¹¸þ¤¬¤¢¤ê¤Þ¤¹¤¬¡¢ ÆÃÄê¤Î¹½À®¤â¤·¤¯¤Ï¥¢¥¯¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢ À­Ç½¤ËÂ礭¤Ê±Æ¶Á¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Ãí°Õ¤¹¤Ù¤­ÅÀ¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£

  1. ¥Æ¡¼¥Ö¥ë¤Î°µ½Ì
    ¤É¤Î¤è¤¦¤Ê°µ½Ì¤â·ë²ÌŪ¤Ë¥¹¥­¥ã¥Ê¤òÃÙ¤¯¤·¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢ ¥¹¥Ô¡¼¥É¤Î¤³¤È¤¬¿´ÇۤǤ¢¤ë¤Ê¤é¤Ð¡¢ ¾ï¤Ë¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç‘-f’¥ª¥×¥·¥ç¥ó¡¢ ¤Þ¤¿¤Ï‘-F’¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¥Æ¡¼¥Ö¥ë¤Î°µ½Ì¤È¥¹¥Ô¡¼¥É¤Ë´ØÏ¢¤¹¤ë¥ª¥×¥·¥ç¥ó¤Ë´Ø¤¹¤ë¾ÜºÙ¤ÊµÄÏÀ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ See Table Compression and Scanner Speed¡£
  2. REJECT
    ¥¹¥Ô¡¼¥É¤ËÂФ·¤ÆºÇ¤âÂ礭¤Ê±Æ¶Á¤òµÚ¤Ü¤·¤Þ¤¹¡£ ¤³¤ì¤¬»È¤ï¤ì¤ë¤È¤¹¤Ù¤Æ¤Î¥Þ¥Ã¥Á½èÍý¤¬ÃÙ¤¯¤Ê¤ê¤Þ¤¹¡£ ¤È¤¤¤¦¤Î¤Ï¡¢ ¥¹¥­¥ã¥Ê¤Ï¡¢ ¥Þ¥Ã¥Á¤¹¤ëÁ°¤Î¾õÂ֤˼«¿È¤òÉüµì¤¹¤ëɬÍפ¬¤¢¤ë¤«¤é¤Ç¡¢ ¤³¤Î¤è¤¦¤Ê¤³¤È¤¬É¬Íפʤ¤¾ì¹ç¤ÈÈæ³Ó¤·¤Æ¡¢ ¤è¤ê¿¤¯¤ÎÆâÉôŪ¤ÊÊݼéºî¶È¤ò¹Ô¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤é¤Ç¤¹¡£ ¥¹¥Ô¡¼¥É¤¬½ÅÍפʾì¹ç¤Ë¤Ï¡¢ »È¤ï¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
  3. ¥Ð¥Ã¥¯¥È¥é¥Ã¥­¥ó¥°
    ¥¹¥­¥ã¥Ê¤¬¤¢¤ë¥Æ¥­¥¹¥È¤Ë¥Þ¥Ã¥Á¤¹¤ë¤¿¤á¤Ë¡ÖµÕ¹Ô¡×¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤ò¡¢ ¥Ð¥Ã¥¯¥È¥é¥Ã¥­¥ó¥°¤È¤¤¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢ ¥¹¥­¥ã¥Ê¤ÎÀ­Ç½¤Ë°­¤¤±Æ¶Á¤òµÚ¤Ü¤·¤Þ¤¹¤Î¤Ç¡¢ ¥¹¥Ô¡¼¥É¤¬ºÇ¤â½ÅÍפǤ¢¤ë¾ì¹ç¤Ë¤ÏÈò¤±¤ë¤Ù¤­¤Ç¤¹¡£ °µ½Ì¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤Ï¾ï¤Ë¥Ð¥Ã¥¯¥È¥é¥Ã¥­¥ó¥°¤òȯÀ¸¤µ¤»¤ë¤Î¤Ç¡¢ ‘-f’¥ª¥×¥·¥ç¥ó¡¢ ¤Þ¤¿¤Ï‘-F’¥ª¥×¥·¥ç¥ó¤ò»È¤ï¤Ê¤¤¾ì¹ç¤Ï¡¢ ¥ë¡¼¥ë¤«¤é¥Ð¥Ã¥¯¥È¥é¥Ã¥­¥ó¥°¤òºï½ü¤·¤è¤¦¤È¤¹¤ë¤Î¤Ï»þ´Ö¤Î̵Â̤Ǥ¹¡£ ¥¹¥­¥ã¥Ê¤«¤é¥Ð¥Ã¥¯¥È¥é¥Ã¥­¥ó¥°¤òºï½ü¤¹¤ë¤³¤È¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ê¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢ See Removing Backtracking¡£
  4. ²ÄÊÑĹ¸å³¥³¥ó¥Æ¥­¥¹¥È¡Êvariable trailing context¡Ë
    ²ÄÊÑĹ¸å³¥³¥ó¥Æ¥­¥¹¥È¤È¤Ï¡¢ ¤¢¤ë¥ë¡¼¥ë¤ÎÀèÆ¬Éôʬ¤È¸å³Éôʬ¤ÎξÊý¤¬¸ÇÄêĹ¤Ç¤Ê¤¤¤è¤¦¤Ê¾ì¹ç¤ò»Ø¤·¤Þ¤¹¡£ À­Ç½¤Î´ÑÅÀ¤«¤é¤ÏREJECT¤ÈƱ¤¸¤¯¤é¤¤°­±Æ¶Á¤òµÚ¤Ü¤¹¤â¤Î¤Ç¡¢ ²Äǽ¤Ê¾ì¹ç¤Ë¤Ï¤¤¤Ä¤Ç¤âÈò¤±¤ë¤Ù¤­¤Ç¤¹¡£ ¤³¤ÎÎã¤ò¼¨¤¹¤È¡¢ °Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
    %%
    linux|hurd/(OS|"Operating system")
    

    ¤³¤ì¤Ï¡¢ °Ê²¼¤Î¤è¤¦¤Ëʬ³ä¤¹¤Ù¤­¤Ç¤¹¡£

    linux/OS|"Operating system"
    hurd/OS|"Operating system"
    

    ¤³¤¦¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ ÌäÂê¤Ï²ò¾Ã¤µ¤ì¤Þ¤¹¡£

  5. ¹Ô¤ÎÀèÆ¬¤òɽ¤¹±é»»»Ò
    ^’±é»»»Ò¤Ï¡¢ À­Ç½¤ËÉÔÍø¤Ê±Æ¶Á¤òµÚ¤Ü¤·¤Þ¤¹¡£ ¥¹¥Ô¡¼¥É¤¬ºÇ¤â½ÅÍפʾì¹ç¤Ë¤Ï¡¢ »È¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
  6. yymore()
    yymore¤ò»È¤¦¤ÈÀ­Ç½¤òÄã²¼¤µ¤»¤Þ¤¹¡£ ¥¹¥Ô¡¼¥É¤¬ºÇ¤â½ÅÍפʾì¹ç¤Ë¤Ï¡¢ »È¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
  7. ¥Æ¥­¥¹¥ÈĹ
    ¥¹¥­¥ã¥Ê¤ÎÀ­Ç½¤Ï¡¢ ¥Þ¥Ã¥Á¤¹¤ë¥Æ¥­¥¹¥È¤ÎŤµ¤Ë¤è¤Ã¤Æ¤â±Æ¶Á¤ò¼õ¤±¤Þ¤¹¡£ ¾ï¤ËŤ¤Ê¸»úÎó¤Ë¥Þ¥Ã¥Á¤¹¤ë¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢ ¥¹¥­¥ã¥Ê¤Ï¹â®¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¤È¤¤¤¦¤Î¤Ï¡¢ yytext´Ä¶­¤ò¥»¥Ã¥È¥¢¥Ã¥×¤¹¤ëɬÍפ¬¤Ê¤¤¤«¤é¤Ç¤¹¡£ ¥¹¥­¥ã¥Ê¤Î¼Â¹Ô»þ´Ö¤Î¤Û¤È¤ó¤É¤Ï¡¢ ÆâÉô¤Î¹â®¤Ê¥Þ¥Ã¥Á¥ó¥°¡¦¥ë¡¼¥×¤ÎÃæ¤ÇÈñ¤ä¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
  8. NUL
    Flex¤Ï¡¢ NUL¤ò´Þ¤à¥È¡¼¥¯¥ó¤ò¥Þ¥Ã¥Á¤¹¤ë¤Î¤Ë»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¤Ë¤Ï¡¢ û¤¤¥Æ¥­¥¹¥È¤Ë¥Þ¥Ã¥Á¤¹¤ë¤è¤¦¥ë¡¼¥ë¤òµ­½Ò¤¹¤ë¤Û¤¦¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£

========================================================================

========================================================================