Next: , Previous: Rpcalc Error, Up: RPN Calc   [Contents][Index]


2.1.6 ¹½Ê¸²òÀÏ´ï¤òÀ¸À®¤¹¤ë¤¿¤á¤ËBison¤ò¼Â¹Ô

¹½Ê¸²òÀÏ´ï¤òÀ¸À®¤¹¤ë¤¿¤á¤ËBison¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢ 1¤Ä°Ê¾å¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¤¹¤Ù¤Æ¤ò¤É¤Î¤è¤¦¤ËÀ°¤¨¤ë¤«¡¢ ·è¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Êñ½ã¤ÊÎã¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤ò1¸Ä¤Î¥Õ¥¡¥¤¥ë¤ËµÍ¤á¹þ¤àÊýË¡¤¬ ¤¤¤Á¤Ð¤ó´Êñ¤Ç¤¹¡£ yylex¡¢yyerror¡¢main¤ÎÄêµÁ¤ò¡¢ ¥Õ¥¡¥¤¥ë¤Î¡ÖÄɲäÎC¥³¡¼¥É¡×Éô¤ÎºÇ¸å¤ËÃÖ¤­¤Þ¤¹ ¡Êsee The Overall Layout of a Bison Grammar¡Ë¡£

Â礭¤Ê¥×¥í¥¸¥§¥¯¥È¤Ç¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤òÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤Ëʬ¤±¡¢ ¤Þ¤È¤á¤Æ¥ê¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤á¤Ëmake¤ò»È¤¦¤Ç¤·¤ç¤¦¡£

1¤Ä¤Î¥Õ¥¡¥¤¥ë¤Ë¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¤¬Æþ¤Ã¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢ ¼¡¤Î¥³¥Þ¥ó¥É¤Ç¡¢¤½¤ì¤ò¹½Ê¸²òÀÏ´ï¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤Ç¤­¤Þ¤¹¡£

bison file_name.y

¤³¤ÎÎã¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë¤Ïrpcalc.y¡ÊµÕ¥Ý¡¼¥é¥ó¥Éµ­Ë¡ÅÅÂî¡Ë¤È ¸Æ¤Ð¤ì¤Æ¤¤¤Þ¤¹¡£Bison¤Ï¡¢¸µ¤Î¥Õ¥¡¥¤¥ë̾¤«¤é‘.y’¤ò¼è¤ê½ü¤¤¤Æ¡¢ file_name.tab.c¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£ Bison¤¬½ÐÎϤ·¤¿¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢yyparse¤Î¥½¡¼¥¹¥³¡¼¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ ÆþÎÏ¥Õ¥¡¥¤¥ëÃæ¤ÎÄɲäδؿô¡Êyylex¡¢yyerror¡¢main¡Ë¤Ï¡¢ ½ÐÎϤˤ½¤Î¤Þ¤ÞÊ£¼Ì¤µ¤ì¤Þ¤¹¡£