Next: , Previous: %%, Up: Flex Descriptions   [Contents][Index]


3.5 ¥ë¡¼¥ë

¥ë¡¼¥ë¤ÏFlex¤Î¿´Â¡Éô¤Ç¤¹¡£ ¥ë¡¼¥ë¤ò½ñ¤¯¤³¤È¤Ë¤è¤Ã¤Æ¡¢ ¥×¥í¥°¥é¥Þ¤Ï¡¢ ¥¹¥­¥ã¥Ê¤¬²¿¤ò¼Â¹Ô¤¹¤ë¤Ù¤­¤Ç¤¢¤ë¤«¤òFlex¤ËÄÌÃΤ·¤Þ¤¹¡£

Ä̾ ¥ë¡¼¥ë¤Ï£²¤Ä¤ÎÉôʬ¤«¤é¹½À®¤µ¤ì¤Þ¤¹¡£

pattern       actions

¤³¤Î¤¦¤Ápattern¤¬²¿¤òǧ¼±¤¹¤ë¤Ù¤­¤«¤òÄêµÁ¤·¡¢ actions¤¬¤½¤Î²¿¤«¤òǧ¼±¤·¤¿»þ¤Ë²¿¤ò¼Â¹Ô¤¹¤ë¤Ù¤­¤Ç¤¢¤ë¤«¤ò¥¹¥­¥ã¥Ê¤ËÃΤ餻¤Þ¤¹¡£ pattern¤ÎÉôʬ¤Ï¶õÇò¤Ë¤è¤Ã¤Æ¶èÀÚ¤é¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢ ¶õÇò¤ò¥Þ¥Ã¥Á¤µ¤»¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ ¤½¤ì¤ò°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ë¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£

¥¹¥­¥ã¥Ê¤Ï¡¢ ¥Þ¥Ã¥Á¤¹¤ë¤â¤Î¤ò£²¤Ä°Ê¾å¸«¤Ä¤±¤¿¾ì¹ç¡¢ °Ê²¼¤Î£²¤Ä¤Î¥ë¡¼¥ë¤ò»È¤Ã¤Æ¤É¤ì¤ò¼õ¤±Æþ¤ì¤ë¤«¤ò·è¤á¤Þ¤¹¡£

  1. ¸å³¥³¥ó¥Æ¥­¥¹¥È¡Êtrailing context¡Ë¤â´Þ¤á¤ÆºÇ¤âŤ¤¤â¤Î¤ò¼õ¤±Æþ¤ì¤ë¡£
  2. ¥Þ¥Ã¥Á¤¹¤ë¤â¤Î¤¬¤¹¤Ù¤ÆÆ±¤¸Ä¹¤µ¤Î¾ì¹ç¡¢ ¥¹¥­¥ã¥ÊÄêµÁÃæ¤ËºÇ½é¤Ëµ­½Ò¤µ¤ì¤¿¤â¤Î¤ò¼õ¤±Æþ¤ì¤ë¡£

actions¤Ï¡¢ ¶õ¡Ê¥³¡¼¥É¤Ê¤·¡Ë¤Ë¤¹¤ë¤«¡¢ ¤â¤·¤¯¤Ï¡¢ £±¤Ä°Ê¾å¤ÎC¤Îʸ¤ò´Þ¤àñ°ì¤Î¥³¡¼¥É¹Ô¡¢ {…}¤Þ¤¿¤Ï%{…%}¤Ç°Ï¤Þ¤ì¤¿£±¹Ô°Ê¾å¤Î¥³¡¼¥É¡¢ ñ°ì¤Î¿âľËÀ¡Ê‘|’¡Ë¤Î¤¤¤º¤ì¤«¤òµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ °Ê²¼¤Ë¤¤¤¯¤Ä¤«Îã¤òµó¤²¤Þ¤¹¡£

hi         |
bonjour    |
hello      printf("hello!\n");
goodbye    {  printf("goodbye!\n"); }
konnichiwa {                   
               line 1line n      
           } 
sayonara   printf("lex will not "); printf("print this\n");

¤É¤Î¹Ô¤âÊ£¿ô¤Îʸ¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ‘|’¤Ï¡¢ ¤½¤Î¥ë¡¼¥ë¤Ë¥Þ¥Ã¥Á¤¹¤ë¤â¤Î¤¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢ ¼¡¤Ë¸½¤ì¤ë¥ë¡¼¥ë¤Î¥¢¥¯¥·¥ç¥óÉô¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¥¢¥¯¥·¥ç¥ó¤¬¼Â¹Ô¤µ¤ì¤ë¤Ù¤­¤Ç¤¢¤ë¤³¤È¤òFlex¤ËÄÌÃΤ·¤Þ¤¹¡£

Ãí¡§¤Û¤È¤ó¤É¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎLex¤Ï¡¢ ‘{’¤È‘}’¤Î¥Ú¥¢¤Î³°Éô¤Ç¤Ïñ°ì¤Îʸ¤·¤«µö¤·¤Þ¤»¤ó ¡ÊÎ㤨¤Ð¾å¤Îsayonara¥ë¡¼¥ë¤Ïµö¤µ¤ì¤Þ¤»¤ó¡Ë¡£ ¤Þ¤¿¡¢ C°Ê³°¤Î¸À¸ì¤ò¥¿¡¼¥²¥Ã¥È¤Ë¤·¤Æ¤¤¤ëLex¤Ç¤Ï¡¢ ‘{’¤È‘}’¤Î¥Ú¥¢¤Ï¡¢ Î㤨¤ÐPascal¤Î¾ì¹ç¤Îbegin…end¤Î¤è¤¦¤Ë¡¢ °Û¤Ê¤ë¥·¥ó¥Ü¥ë¤ËÃÖ¤­´¹¤¨¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£

¥ë¡¼¥ë¤Ë¥Þ¥Ã¥Á¤·¤Ê¤«¤Ã¤¿ÆþÎϤËÂФ¹¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥¢¥¯¥·¥ç¥ó¤Ï¡¢ ¤½¤ì¤òstdout¤Ë½ÐÎϤ¹¤ë¤³¤È¤Ç¤¢¤ê¡¢ °ìÊý¡¢ ¥Þ¥Ã¥Á¤·¤¿¥Ñ¥¿¡¼¥ó¤ËÂФ¹¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥¢¥¯¥·¥ç¥ó¤Ï¡¢ ¤½¤ì¤òÇË´þ¤¹¤ë¤³¤È¤Ç¤¢¤ë¤È¤¤¤¦ÅÀ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤ì¤Ï¡¢ ºÇ¤âñ½ã¤ÊFlex¤ÎÄêµÁ¤¬

%%

¤Ç¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢ ÆþÎϤòÊѹ¹¤»¤º¤½¤Î¤Þ¤Þstdout¤Ø½ÐÎϤ¹¤ë¤â¤Î¤Ç¤¹¡£ Ê̤Îñ½ã¤ÊÎã¤È¤·¤Æ°Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£

%%
foobar

¤³¤Î¾ì¹ç¡¢ ÆþÎϤÎÃæ¤«¤é‘foobar’¤È¤¤¤¦Ê¸»ú¤ÎʤӤò¤¹¤Ù¤Æ¼è¤ê½ü¤­¡¢ ¼è¤ê½ü¤¤¤¿·ë²Ì¤òstdout¤Ë½ÐÎϤ·¤Þ¤¹¡£