Next: Shift/Reduce, Up: Algorithm [Contents][Index]
Bison¹½Ê¸²òÀÏ´ï¤Ï¡¢É¬¤º¤·¤âʸˡµ¬Â§¤ËŬ¹ç¤¹¤ëºÇ¸å¤În¸Ä¤Î¥È¡¼¥¯¥ó ¤Þ¤¿¤Ï¥°¥ë¡¼¥×¤¬¸«¤Ä¤«¤ë¤È¤¹¤°¤Ë´Ô¸µ¤ò¹Ô¤¦¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤½¤Î¤è¤¦¤Êñ½ã¤ÊÊýË¡¤Ï¡¢Â¿¤¯¤Î¸À¸ì¤Î½èÍý¤ËŬ¤µ¤Ê¤¤¤«¤é¤Ç¤¹¡£ ¤½¤ÎÂå¤ï¤ê¤Ë¡¢´Ô¸µ¤¬²Äǽ¤Ê¾ì¹ç¤Ë¡¢¹½Ê¸²òÀÏ´ï¤Ï¼¡¤Î¥È¡¼¥¯¥ó¤ò ¡ÖÀèÆÉ¤ß¡×¤·¡¢¼¡¤Ë²¿¤ò¤¹¤ë¤Ù¤¤«¤ò·èÄꤷ¤Þ¤¹¡£
¥È¡¼¥¯¥ó¤¬ÆÉ¤Þ¤ì¤ë¤È¡¢¤½¤ì¤Ï¤¹¤°¤Ë¥·¥Õ¥È¤µ¤ì¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢ ¤Þ¤º¡¢ÀèÆÉ¤ß¥È¡¼¥¯¥ó¡Êlook-ahead token¡Ë¤Ë¤Ê¤ê¡¢ ¥¹¥¿¥Ã¥¯¤Ë¤ÏÃÖ¤«¤ì¤Þ¤»¤ó¡£ ÀèÆÉ¤ß¥È¡¼¥¯¥ó¤ò»Ä¤·¤¿¤Þ¤Þ¡¢¹½Ê¸²òÀϴ郎¡¢¥¹¥¿¥Ã¥¯¾å¤Î¥È¡¼¥¯¥ó¤Þ¤¿¤Ï ¥°¥ë¡¼¥×¤ËÂФ·¤Æ1¸Ä°Ê¾å¤Î´Ô¸µ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ ¤½¤ì°Ê¾å¤Î´Ô¸µ¤¬µ¯¤³¤ê¤¨¤Ê¤¤¾ì¹ç¤Ë¡¢ ÀèÆÉ¤ß¥È¡¼¥¯¥ó¤Ï¥¹¥¿¥Ã¥¯¤Ë¥·¥Õ¥È¤µ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢¤¹¤Ù¤Æ¤Î²Äǽ¤Ê´Ô¸µ¤¬¼Â¹Ô¤µ¤ì¤¿¤³¤È¤ò°ÕÌ£¤·¤Þ¤»¤ó¡£ ÀèÆÉ¤ß¥È¡¼¥¯¥ó¤Î¥È¡¼¥¯¥ó·¿¤Ë±þ¤¸¤Æ¡¢ ¤¤¤¯¤Ä¤«¤Îµ¬Â§¤ÏŬÍѤòÃ٤餵¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
ÀèÆÉ¤ß¤¬É¬ÍפʴÊñ¤ÊÎã¤ò¼¨¤·¤Þ¤¹¡£ ²¼µ¤Î3¸Ä¤Îµ¬Â§¤Ï¡¢2¹à²Ã»»±é»»»Ò¡¢Ã±¹à³¬¾è±é»»»Ò¡Ê‘!’¡Ë¡¢ ¥°¥ë¡¼¥×¤Î¤¿¤á¤Î¤«¤Ã¤³¤ò´Þ¤ß¤Þ¤¹¡£
expr: term '+' expr | term ;
term: '(' expr ')' | term '!' | NUMBER ;
¥È¡¼¥¯¥ó‘1 + 2’¤¬ÆÉ¤ß¹þ¤Þ¤ì¤Æ¥·¥Õ¥È¤µ¤ì¤Æ¤¤¤ë¤È¤¤Ë¡¢
²¿¤¬µ¯¤¤ë¤Ç¤·¤ç¤¦¤«¡£¤â¤·¡¢Â³¤¯¥È¡¼¥¯¥ó¤¬‘)’¤Ê¤é¤Ð¡¢
ºÇ½é¤Î3¸Ä¤Î¥È¡¼¥¯¥ó¤Ïexpr
¤Î·Á¼°¤Ë´Ô¸µ¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤¬¡¢Í£°ì͸ú¤ÊÆ»¤Ç¤¹¡£
¤Ê¤¼¤Ê¤é¤Ð¡¢‘)’¤ò¥·¥Õ¥È¤·¤Æ¡¢term ')'
¤È¤¤¤¦µ¹æÎó¤â
À¸À®²Äǽ¤Ç¤¹¤¬¡¢¤É¤Îµ¬Â§¤â¤½¤Î¤è¤¦¤Êµ¹æÎó¤òµö¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£
¤â¤·¡¢Â³¤¯¥È¡¼¥¯¥ó¤¬‘!’¤Ê¤é¤Ð¡¢¤½¤ì¤Ï¤¿¤À¤Á¤Ë¥·¥Õ¥È¤µ¤ì¤ëɬÍפ¬¤¢¤ê¡¢
‘2 !’¤«¤éterm
¤¬´Ô¸µ¤µ¤ì¤Þ¤¹¡£
¤½¤¦¤Ç¤Ï¤Ê¤¯¡¢¹½Ê¸²òÀϴ郎¥·¥Õ¥È¤ÎÁ°¤Ë´Ô¸µ¤·¤Æ¤¤¤ì¤Ð¡¢
‘1 + 2’¤¬expr
¤Ë´Ô¸µ¤µ¤ì¤Þ¤¹¡£
¤·¤«¤·¡¢¤½¤Î¤è¤¦¤Ê´Ô¸µ¤ò¤·¤è¤¦¤È¤¹¤ë¤Èexpr '!'
¤È¤¤¤¦µ¹æÎó¤ò
¥¹¥¿¥Ã¥¯¤ËÀ¸À®¤·¤è¤¦¤È¤¹¤ë¤Î¤Ç¡¢‘!’¤ò¥·¥Õ¥È¤¹¤ë¤Î¤ÏÉÔ²Äǽ¤Ç¤¹¡£
¤½¤Î¤è¤¦¤Êµ¹æÎó¤Ïµö¤µ¤ì¤Þ¤»¤ó¡£
¸½ºß¤ÎÀèÆÉ¤ß¥È¡¼¥¯¥ó¤Ï¡¢ÊÑ¿ôyychar
¤Ëµ²±¤µ¤ì¤Æ¤¤¤Þ¤¹
See Special Features for Use in Actions¡£