Next: %%, Previous: Optional C Code, Up: Flex Descriptions [Contents][Index]
ÄêµÁ¥»¥¯¥·¥ç¥ó¤Ë¤ª¤¤¤Æ¡¢ ¥×¥í¥°¥é¥Þ¤Ï¡¢ ¤¢¤ëʸ»ú¤Î¥°¥ë¡¼¥×¤Ë°ì°Õ¤Ê¼±Ê̻ҤòÍ¿¤¨¡¢ ¤½¤Î¼±Ê̻Ҥ¬¤½¤Îʸ»ú¥°¥ë¡¼¥×¤ËÃÖ¤´¹¤¨¤é¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ÄêµÁ¤Ï°Ê²¼¤Î¤è¤¦¤Ê·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£
definition_name definition
definition_name¤ÏºÇ½é¤Î¥«¥é¥à¤«¤é»Ï¤Þ¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢ ¤½¤¦¤·¤Ê¤¤¤È¤½¤ÎÄêµÁ¤Ïlex.yy.c¤Ë¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤µ¤ì¤Æ¤·¤Þ¤¦¤È¤¤¤¦¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ °Ê²¼¤Ë°ìÈÌŪ¤ÊÄêµÁ¤ò¤¤¤¯¤Ä¤«µó¤²¤Þ¤¹¡£
DIGIT [0-9] LETTER [a-z] IDENT [a-z_][a-z0-9_]* ALPHANUM {LETTER}|{DIGIT}
definition name¤Ï¡¢
¤½¤Î¥°¥ë¡¼¥×¤Î°ì°Õ¤Ê¼±Ê̻ҤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
¤Þ¤¿¡¢
definition¤Ï¥ë¡¼¥ë¡¦¥»¥¯¥·¥ç¥ó¡Ê¸å½Ò¡Ë¤Ë¤ª¤¤¤ÆÀµÅö¤Ê¤â¤Î¤Ç¤¢¤ì¤Ð²¿¤Ç¤â¹½¤¤¤Þ¤»¤ó¡£
¥ë¡¼¥ë¡¦¥»¥¯¥·¥ç¥ó¤ä
¡Ê¾å¤ÎÎã¤ÎALPHANUM
¤ÎÄêµÁ¤Ë¤ª¤¤¤Æ¼¨¤µ¤ì¤ë¤è¤¦¤Ë¡Ë
Ê̤ÎÄêµÁÃæ¤Ë¤ª¤¤¤Æ»È¤ï¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢
ÄêµÁ¤Ï‘{ }’¤Ë¤è¤Ã¤Æ°Ï¤Þ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
Flex¤ÈLex¤ÎÈó¾ï¤Ë½ÅÍפÊÁê°ãÅÀ¤Ë¡¢ ÄêµÁ¤òŸ³«¤¹¤ë»þ¡¢ Flex¤Ï»úµÁ¤É¤ª¤ê¤Ë´Ý³ç¸Ì( )¤Ç°Ï¤à¤Î¤ËÂФ·¤Æ¡¢ Lex¤Ï°Ï¤Þ¤Ê¤¤¤È¤¤¤¦ÅÀ¤¬¤¢¤ê¤Þ¤¹¡£1 ¤³¤ì¤Ï¡¢ ‘^’¡¢‘<<EOF>>’¡¢‘$’¡¢‘/’¤òÄêµÁÃæ¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£ ¤È¤¤¤¦¤Î¤Ï¡¢ Á°½Ò¤Îʸ»ú¤Ï´Ý³ç¸Ì( )¤Ç°Ï¤Þ¤ì¤¿Éôʬ¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¤«¤é¤Ç¤¹¡£ ¾ÜºÙ¤Ï¡¢ Characters¤ª¤è¤ÓFlex and Lex¤Ë¤ª¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
Î㤨¤Ð¡¢
FUNCTION ^[a-zA-Z_][a-zA-Z0-9_]*"(" %% {FUNCTION} printf("got a function\n");
¤Ï¡¢ °Ê²¼¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥ß¥ó¥°¡¦¥¹¥¿¥¤¥ë¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Î¡¢ C¤Î´Ø¿ôÀë¸À¤Ë¥Þ¥Ã¥Á¤¹¤ë¤è¤¦¤Ë¸«¤¨¤Þ¤¹¡£
int foo() { … }
¤·¤«¤·¼ÂºÝ¤Ë¤Ï¤¦¤Þ¤¯¤¤¤¤Þ¤»¤ó¡£
¤È¤¤¤¦¤Î¤Ï¡¢
{FUNCTION}
¤¬Å¸³«¤µ¤ì¤ë¤È¡¢
(^[a-zA-Z_][a-zA-Z0-9_]*)
¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢ ¤³¤ì¤ÏÉÔÀµ¤À¤«¤é¤Ç¤¹¡£ ¤³¤Î¤è¤¦¤Ê¼ïÎà¤ÎÌäÂê¤Ë´Ø¤¹¤ëÀâÌÀ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ Flex and POSIX¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
ÌõÃí¡§Flex 2.5¤Ç¤Ï¡¢ ‘-l’¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤ÆÀ¸À®¤µ¤ì¤¿¥¹¥¥ã¥Ê¤Ï¡¢ Lex¤Î¾ì¹ç¤ÈƱ¤¸¤è¤¦¤Ë¡¢ ÄêµÁ¤òŸ³«¤¹¤ë»þ¤Ë´Ý³ç¸Ì( )¤Ç°Ï¤ß¤Þ¤»¤ó¡£