Next: Token Values, Up: Lexical [Contents][Index]
yylex
¤ò¸Æ¤Ó½Ð¤¹ÊýË¡yylex
¤¬ÊÖ¤¹Ãͤϡ¢¸«¤Ä¤«¤Ã¤¿¥È¡¼¥¯¥ó¤Î·¿¤ËÂФ¹¤ëÈÖ¹æ¤Ç¡¢
ÆþÎÏ¥Õ¥¡¥¤¥ë¤Î½ª¤ï¤ê¤Ë㤷¤¿¾ì¹ç¤Ë¤Ï0¤òÊÖ¤·¤Þ¤¹¡£
¥È¡¼¥¯¥ó¤¬Ê¸Ë¡µ¬Â§¤ÎÃæ¤Ç̾Á°¤Ç»²¾È¤µ¤ì¤ë¾ì¹ç¡¢
¹½Ê¸²òÀÏ´ï¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¤Î¤½¤Î̾Á°¤Ï¡¢
¥È¡¼¥¯¥ó·¿¤ËÂФ¹¤ëŬÀÚ¤ÊÈÖ¹æ¤ËC¤Î¥Þ¥¯¥í¤È¤·¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£
¤·¤¿¤¬¤Ã¤Æ¡¢yylex
¤Ï·¿¤ò¼¨¤¹¤¿¤á¤Ë¤½¤Î̾Á°¤ò»ÈÍѤǤ¤Þ¤¹¡£
See Symbols¡£
ʸˡµ¬Â§¤ÎÃæ¤Ç¥È¡¼¥¯¥ó¤¬1ʸ»ú¥ê¥Æ¥é¥ë¤È¤·¤Æ»²¾È¤µ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢
¤½¤Îʸ»ú¤Îʸ»úÉ乿¤¬¥È¡¼¥¯¥ó·¿¤ËÂФ¹¤ëÈÖ¹æ¤Ç¤â¤¢¤ê¤Þ¤¹¡£
¤½¤³¤Ç¡¢yylex
¤Ï¡¢Ã±½ã¤Ëʸ»úÉ乿¤òÊÖ¤·¤Þ¤¹¡£
¤·¤«¤·¡¢Ìá¤êÃÍ0¤ÏÆþÎÏ¥Õ¥¡¥¤¥ë¤Î½ª¤ï¤ê¤ò°ÕÌ£¤¹¤ë¤Î¤Ç¡¢
¥Ì¥ëʸ»ú¡Ê'\0'
¡Ë¤Îʸ»úÉ乿¤òÊÖ¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
°Ê²¼¤ËÎã¤ò¼¨¤·¤Þ¤¹¡£
yylex () { … if (c == EOF) /* ¥Õ¥¡¥¤¥ë¤Î½ª¤ï¤ê¤«Ä´¤Ù¤ë¡£ */ return 0; … if (c == '+' || c == '-') return c; /* `+' ¤ËÂФ¹¤ë¥È¡¼¥¯¥ó·¿¤¬ '+' ¤Ç¤¢¤ë¤È²¾Äꤹ¤ë¡£ */ … return INT; /* ¥È¡¼¥¯¥ó·¿¤òÊÖ¤¹¡£ */ … }
¤³¤Î¤è¤¦¤Ê¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Ï¡¢
lex
¤¬À¸À®¤·¤¿»ú¶ç²òÀÏ´ï¤ò¡¢
yylex
¤ÎÄêµÁ¤òÊѤ¨¤º¤Ë»È¤¨¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤¤¤Þ¤¹¡£
ʸˡµ¬Â§¤¬Ê¸»úÎó¥ê¥Æ¥é¥ë¥È¡¼¥¯¥ó¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
yylex
¤¬¤½¤ì¤ËÂФ¹¤ë¥È¡¼¥¯¥ó·¿ÈÖ¹æ¤ò»È¤¦¡¢
2¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
yylex
¤Ï¤½¤Îµ¹æÌ¾¤ò¾¤Î¥È¡¼¥¯¥ó¤Îµ¹æÌ¾¤È
ƱÍͤ˻Ȥ¨¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢Ê¸Ë¡¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç¤Îʸ»úÎó¥ê¥Æ¥é¥ë¥È¡¼¥¯¥ó¤Î
ÍøÍѤϡ¢yylex
¤Ë¤Þ¤Ã¤¿¤¯±Æ¶Á¤·¤Þ¤»¤ó¡£
yylex
¤Ï¡¢yytname
ɽ¤ÎÃæ¤Ç¡¢
Ê£¿ôʸ»ú¥È¡¼¥¯¥ó¤ò¸«¤Ä¤±¤é¤ì¤Þ¤¹¡£
¥È¡¼¥¯¥ó¤ËÂФ¹¤ëɽ¤Îꤍ»ú¤Ï¡¢¤½¤Î¥È¡¼¥¯¥ó·¿¤ÎÈÖ¹æ¤Ç¤¹¡£
Ê£¿ôʸ»ú¥È¡¼¥¯¥ó¤Ïyytname
¤ÎÃæ¤Ë¥À¥Ö¥ë¥¯¥©¡¼¥Èµ¹æ¤Ç°Ï¤Þ¤ì¤Æ
µ²±¤µ¤ì¤Þ¤¹¡£
¥È¡¼¥¯¥ó¤Ë´Þ¤Þ¤ì¤ëʸ»ú¤Ï¥¨¥¹¥±¡¼¥×¤µ¤ì¤º¡¢
ɽ¤ÎÃæ¤Îʸ»úÎó¤Ë¤½¤Î¤Þ¤Þ½ñ¤¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
¥È¡¼¥¯¥ó¤ò¹½À®¤¹¤ëʸ»úÎó¤¬token_buffer
¤Ëµ²±¤µ¤ì¤Æ¤¤¤ë¤È²¾Äꤷ¤Æ¡¢
yytname
¤«¤é¥È¡¼¥¯¥ó¤òõ¤·½Ð¤¹¥×¥í¥°¥é¥à¤ò¼¨¤·¤Þ¤¹¡£
for (i = 0; i < YYNTOKENS; i++) { if (yytname[i] != 0 && yytname[i][0] == '"' && strncmp (yytname[i] + 1, token_buffer, strlen (token_buffer)) && yytname[i][strlen (token_buffer) + 1] == '"' && yytname[i][strlen (token_buffer) + 2] == 0) break; }
yytname
ɽ¤Ï¡¢%token_table
Àë¸À¤ò¤·¤¿¾ì¹ç¤Ë¤Î¤ßÀ¸À®¤µ¤ì¤Þ¤¹¡£
See Decl Summary¡£