Previous: Interfacing Flex and Bison, Up: Flex and Bison   [Contents][Index]


4.4.2 YYSTYPE¤Èyylval

Flex¤«¤éBison¤ËÂФ·¤Æ¡¢ ñ¤Ê¤ëÀ°¿ôÃͰʾå¤Î¾ðÊó¤òÅϤ¹É¬ÍפÎÀ¸¤¸¤ë¤³¤È¤¬¤è¤¯¤¢¤ê¤Þ¤¹¡£ Î㤨¤Ð¡¢ ¥³¥ó¥Ñ¥¤¥é¤Ë¤ª¤¤¤Æ¤Ï¡¢ ¤É¤Î¤è¤¦¤Ê¼ïÎà¤Î¥È¡¼¥¯¥ó¤¬Ç§¼±¤µ¤ì¤¿¤«¤À¤±¤Ç¤Ï¤Ê¤¯¡¢ ¤½¤Î¥È¡¼¥¯¥ó¤ÎÃͤˤĤ¤¤Æ¤âÃΤëɬÍפΤ¢¤ë¾ì¹ç¤¬¤È¤­¤É¤­¤¢¤ê¤Þ¤¹¡£ ʸ»úÎó¡¢Ê¸»ú¡¢¤ª¤è¤Ó¿ôÃÍÄê¿ô¤Ê¤É¤¬Îɤ¤Îã¤Ç¤¹¡£ ¤³¤³¤ÇÌäÂê¤Ê¤Î¤Ï¡¢ ¤É¤Î¤è¤¦¤Ë¤·¤ÆFlex¤Ë¤³¤¦¤·¤¿¾ðÊó¤òÊÖ¤µ¤»¤ë¤«¤Ç¤¹¡£

¤½¤ÎÅú¤Ï¡¢ Bison¤¬»ý¤Ã¤Æ¤¤¤ë%unionʸ¤Ç¤¹¡£ ¤³¤ì¤Ï¡¢ YYSTYPE¤È¤¤¤¦·¿¤òÄêµÁ¤¹¤ë¤â¤Î¤Ç¤¹¡£ YYSTYPE¤Ï¡¢ ¥Ñ¡¼¥µÄêµÁÃæ¤Ë¤ª¤¤¤Æ»È¤ï¤ì¤ë¤¹¤Ù¤Æ¤ÎÀµÅö¤Ê¥Ç¡¼¥¿·¿¤Î¶¦ÍÑÂΡÊunion¡Ë¤Ç¤¹¡£ Bison¤¬¥«¥ì¥ó¥È¤Ê¥Ñ¡¼¥¹¾õÂ֤˴ØÏ¢¤Å¤±¤¿¥Ç¡¼¥¿¤òÊݸ¤¹¤ë¤¿¤á¤Ë»È¤¦¡¢ YYSTYPE·¿¤ÎÊÑ¿ôyylval¤È¤¤¤¦¤â¤Î¤¬¤¢¤ê¡¢ Flex¤«¤éyylval¤ËÃͤòÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¡¢ ¥È¡¼¥¯¥ó¤Î·¿¤À¤±¤Ç¤Ê¤¯¡¢ ¤½¤ì°Ê¾å¤Î¾ðÊó¤òBison¤ËÊÖ¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

Bison¤Ë¤ª¤¤¤Æ%union¤òÀë¸À¤·¤Æ‘-d’¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢ Bison¤Ï.tab.h¤È¤¤¤¦³ÈÄ¥»Ò¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ¡¢ ¤½¤³¤Ë¥È¡¼¥¯¥ó¤ÎÄêµÁ¾ðÊó¤À¤±¤Ç¤Ê¤¯¡¢ YYSTYPE¤Èyylval¤ÎÀë¸À¤â´Þ¤á¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢ yylval¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤Ï¡¢ Flex¤ÎÄêµÁ¾ðÊó¤ÎÃæ¤Ë¤³¤Î.tab.h¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¤³¤È¤À¤±¤Ç¤¹¡£ ¤³¤ì¤Ï¡¢ ÄɲäÎC¥³¡¼¥É¡¦¥»¥¯¥·¥ç¥ó¤Ë¤ª¤±¤ëÄêµÁ¤ÎÀèÆ¬¤Ç¥¤¥ó¥¯¥ë¡¼¥É¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó ¡Êsee Interfacing Flex and Bison¡Ë¡£

Ãí¡§½é´ü¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎBison¤Ï¡¢ ¼«Æ°Åª¤ËYYSTYPE¤Èyylval¤ÎÀë¸À¤òÀ¸À®¤·¤Þ¤»¤ó¡£ ¤³¤Î¾ì¹ç¤Ë¤Ï¡¢ ¤è¤ê¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤ÎBison¤òÆþ¼ê¤¹¤ë¤«¡¢ ¤â¤·¤¯¤Ï¡¢ Flex¤ÎÄêµÁ¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬¤Ë¤ª¤¤¤ÆYYSTYPE¤Èyylval¤òÀë¸À¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£