Next: Mystery Conflicts, Previous: Parser States, Up: Algorithm [Contents][Index]
Ʊ°ì¤ÎÆþÎÏÎó¤ËÂФ·¤Æ2¸Ä°Ê¾å¤Îµ¬Â§¤¬Å¬ÍѲÄǽ¤Ç¤¢¤ë¤È¡¢ ´Ô¸µ/´Ô¸µ¾×ÆÍ¤¬µ¯¤¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢Ä̾ʸˡ¤Î½ÅÂç¤Ê¥¨¥é¡¼¤ò°ÕÌ£¤·¤Þ¤¹¡£
0¸Ä°Ê¾å¤Îword¤ÎʤӤò¥°¥ë¡¼¥×²½¤¹¤ë¡¢
¸í¤Ã¤¿»î¤ß¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£
sequence: /* ¶õ */
{ printf ("empty sequence\n"); }
| maybeword
| sequence word
{ printf ("added word %s\n", $2); }
;
maybeword: /* ¶õ */
{ printf ("empty maybeword\n"); }
| word
{ printf ("single word %s\n", $1); }
;
¥¨¥é¡¼¤Ï¡¢¤¢¤¤¤Þ¤¤¤µ¤Ë¤¢¤ê¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢1¸Ä¤Îword¤òsequence¤Ë¹½Ê¸²òÀϤ¹¤ë¡¢
2¸Ä°Ê¾å¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
word¤Ï¡¢maybeword¤Ë´Ô¸µ¤µ¤ì¡¢
Âè2¤Îµ¬Â§¤Ë¤è¤Ã¤Æsequence¤Ë¤Ê¤ê¤¨¤Þ¤¹¡£
¤Þ¤¿¡¢ºÇ½é¤Îµ¬Â§¤Ç¡¢¶õ¥Ç¡¼¥¿¤¬sequence¤Ë´Ô¸µ¤µ¤ì¡¢
¤½¤ì¤¬Âè3¤Îµ¬Â§¤Ë¤è¤Ã¤Æword¤ÈÁȤ߹ç¤ï¤µ¤ì¤Æ
sequence¤Ë¤Ê¤ê¤¨¤Þ¤¹¡£
¤µ¤é¤Ë¡¢¶õ¥Ç¡¼¥¿¤¬sequence¤Ë´Ô¸µ¤µ¤ì¤ëÊýË¡¤¬2¤Ä°Ê¾å¤¢¤ê¤Þ¤¹¡£
Âè1¤Îµ¬Â§¤ÇľÀÜ´Ô¸µ¤µ¤ì¤ëÊýË¡¤È¡¢
maybeword¤ò·Ðͳ¤·¤ÆÂè2¤Îµ¬Â§¤Ç´Ô¸µ¤µ¤ì¤ëÊýË¡¤Ç¤¹¡£
¤³¤Î°ã¤¤¤Ï¡¢ÆÃÄê¤ÎÆþÎϤ¬ÀµÅö¤Ç¤¢¤ë¤«¤É¤¦¤«¤Ë´Ø·¸¤Ê¤¤¤Î¤Ç¡¢ ¤µ¤µ¤¤¤Ê¤³¤È¤Ë»×¤¨¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤·¤«¤·¡¢¤³¤ì¤Ï¡¢¤É¤Î¥¢¥¯¥·¥ç¥ó¤¬¼Â¹Ô¤µ¤ì¤ë¤«¤Ë±Æ¶Á¤·¤Þ¤¹¡£ ¤¢¤ë¹½Ê¸²òÀϼê½ç¤Ç¤ÏÂè2¤Îµ¬Â§¤Î¥¢¥¯¥·¥ç¥ó¤¬¼Â¹Ô¤µ¤ì¡¢ Ê̤ι½Ê¸²òÀϼê½ç¤Ç¤ÏÂè1¤Îµ¬Â§¤Î¥¢¥¯¥·¥ç¥ó¤ÈÂè3¤Îµ¬Â§¤Î¥¢¥¯¥·¥ç¥ó¤¬ ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¤³¤ÎÎã¤Ç¤Ï¡¢¥×¥í¥°¥é¥à¤Î½ÐÎϤ¬°Û¤Ê¤ê¤Þ¤¹¡£
Bison¤Ï¡¢ºÇ½é¤Ë¸½¤ì¤¿Ê¸Ë¡¤òÁª¤Ö¤³¤È¤Ç¡¢´Ô¸µ/´Ô¸µ¾×ÆÍ¤ò²ò·è¤·¤Þ¤¹¤¬¡¢
¤³¤ì¤ËÍê¤ë¤³¤È¤ÏÈó¾ï¤Ë´í¸±¤Ç¤¹¡£
´Ô¸µ/´Ô¸µ¾×ÆÍ¤Î¤½¤ì¤¾¤ì¤Ï¡¢¿Í´Ö¤Ë¤è¤Ã¤Æ²òÀϤµ¤ì¡¢
Ä̾ï¤Ï¼è¤ê½ü¤«¤ì¤ë¤Ù¤¤Ç¤¹¡£
sequence¤òÄêµÁ¤¹¤ëÀµ¤·¤¤ÊýË¡¤ò¼¨¤·¤Þ¤¹¡£
sequence: /* ¶õ */
{ printf ("empty sequence\n"); }
| sequence word
{ printf ("added word %s\n", $2); }
;
´Ô¸µ/´Ô¸µ¾×ÆÍ¤òµ¯¤³¤¹¡¢Ê̤Τ¢¤ê¤¬¤Á¤Ê¥¨¥é¡¼¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£
sequence: /* ¶õ */
| sequence words
| sequence redirects
;
words: /* ¶õ */
| words word
;
redirects:/* ¶õ */
| redirects redirect
;
¤³¤³¤Ï¡¢word¤Þ¤¿¤Ïredirect¥°¥ë¡¼¥×¤Î¤É¤Á¤é¤«¤ò´Þ¤à
Îó¤ÎÄêµÁ¤¬ÌÜŪ¤Ç¤¹¡£
sequence¡¢words¡¢redirects¤½¤ì¤¾¤ì¸ÄÊ̤Î
ÄêµÁ¤Ë¥¨¥é¡¼¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤·¤«¤·¡¢3¸Ä¤ò¹ç¤ï¤»¤ë¤È¡¢¤¢¤¤¤Þ¤¤¤Ë¤Ê¤ê¤Þ¤¹¡£
¶õ¤ÎÆþÎϤˤϡ¢Ìµ¸Â¸Ä¤Î¹½Ê¸²òÀÏÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
¶õ¥Ç¡¼¥¿¤¬words¤Ë¤Ê¤Ã¤¿¤È²¾Äꤷ¤Þ¤·¤ç¤¦¡£
¤½¤ì¤Ï¡¢2¸Ä¤Îwords¤Ë¤â¡¢3¸Ä¤Îwords¤Ë¤â¡¢
²¿¸Ä¤Îwords¤Ë¤â¤Ê¤ê¤¨¤Þ¤¹¡£
¤¢¤ë¤¤¤Ï¡¢1¸Ä¤Îwords¤Ë3¸Ä¤Îredirects¤È¤â¤¦1¸Ä¤Îword¤¬
³¤¯¤³¤È¤â¹Í¤¨¤é¤ì¤Þ¤¹¡£Æ±Íͤˡ¢Ìµ¸Â¤Î²ò¼á¤¬²Äǽ¤Ç¤¹¡£
¤³¤ì¤é¤Îµ¬Â§¤òľ¤¹ÊýË¡¤¬2¤Ä¤¢¤ê¤Þ¤¹¡£ Âè1¤Ë¡¢1Ãʳ¬¤ÎÎó¤Ë¤¹¤ëÊýË¡¤Ç¤¹¡£
sequence: /* ¶õ */
| sequence word
| sequence redirect
;
Âè2¤Ë¡¢words¤Èredirects¤¬¶õ¤Ë¤Ê¤ë¤Î¤òËɤ°ÊýË¡¤Ç¤¹¡£
sequence: /* ¶õ */
| sequence words
| sequence redirects
;
words: word
| words word
;
redirects:redirect
| redirects redirect
;