Next: , Previous: Grammar Outline, Up: Grammar File   [Contents][Index]


3.2 µ­¹æ¡¢½ªÃ¼¤ÈÈó½ªÃ¼

Bisonʸˡ¤Îµ­¹æ¡Êsymbols¡Ë¤Ï¡¢ ¸À¸ì¤ÎʸˡŪʬÎà¤òɽ¸½¤·¤Þ¤¹¡£

½ªÃ¼µ­¹æ¡Êterminal symbol¡Ë ¡Ê¥È¡¼¥¯¥ó·¿¡Êtokens types¡Ë¤È¤â¤¤¤¤¤Þ¤¹¡Ë¤Ï¡¢ ¹½Ê¸Åª¤ËÅù²Á¤Ê¥È¡¼¥¯¥ó¤Î¥¯¥é¥¹¤òɽ¤·¤Þ¤¹¡£ ¤½¤Î¥¯¥é¥¹¤Î¥È¡¼¥¯¥ó¤¬µö¤µ¤ì¤ë¤³¤È¤òɽ¤¹¤¿¤á¤Ë¡¢ ʸˡµ¬Â§¤ÎÃæ¤Çµ­¹æ¤ò»È¤¨¤Þ¤¹¡£ ¤½¤Îµ­¹æ¤Ï¡¢Bison¹½Ê¸²òÀÏ´ï¤ÎÃæ¤ÇÈÖ¹æ¤Çɽ¸½¤µ¤ì¡¢ yylex´Ø¿ô¤Ï¡¢¤É¤Î¤è¤¦¤Ê¼ïÎà¤Î¥È¡¼¥¯¥ó¤¬ÆÉ¤ß¹þ¤Þ¤ì¤¿¤«¤ò¼¨¤¹¤¿¤á¤Ë¡¢ ¥È¡¼¥¯¥óÈÖ¹æ¤òÊÖ¤·¤Þ¤¹¡£ ¤³¤ì¤òɽ¤¹µ­¹æ¤òÃΤäƤ¤¤ì¤Ð¤è¤¯¡¢¤½¤ÎÈÖ¹æ¤òÃΤäƤ¤¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£

Èó½ªÃ¼µ­¹æ¡Ênonterminal symbol¡Ë¤Ï¡¢ ¹½Ê¸Åª¤ËÅù²Á¤Ê¥°¥ë¡¼¥×¤òɽ¸½¤·¤Þ¤¹¡£ µ­¹æÌ¾¤Ïʸˡµ¬Â§¤Îµ­½Ò¤Ë»È¤ï¤ì¤Þ¤¹¡£ Ä̾Èó½ªÃ¼µ­¹æÌ¾¤ò¾®Ê¸»ú¤Ç½ñ¤­¤Þ¤¹¡£

µ­¹æÌ¾¤Ï¡¢±Ñ»ú¡¢ÀèÆ¬°Ê³°¤Ç¤Î¿ô»ú¡¢²¼Àþµ­¹æ¡Ê‘_’¡Ë¤È¥Ô¥ê¥ª¥É¤«¤é¤Ê¤ê¤Þ¤¹¡£ ¥Ô¥ê¥ª¥Éµ­¹æ¡Ê‘.’¡Ë¤Ï¡¢Èó½ªÃ¼µ­¹æ¤Î̾Á°¤Ë¤Ï»È¤¨¤Þ¤¹¤¬¡¢ ½ªÃ¼µ­¹æ¤Î̾Á°¤Ë¤Ï»È¤¨¤Þ¤»¤ó¡£

Ê¸Ë¡Ãæ¤Ç½ªÃ¼µ­¹æ¤òµ­½Ò¤¹¤ë¤Ë¤Ï3¼ïÎà¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£

½ªÃ¼µ­¹æ¤ò½ñ¤¯ÊýË¡¤Ï¡¢½ªÃ¼µ­¹æ¤ÎʸˡŪ°ÕÌ£¤Ë´Ø·¸¤Ê¤¯¡¢ µ¬Â§¤ÎÃæ¤Ë¸½¤ì¤ë°ÌÃ֤ȡ¢ ¹½Ê¸²òÀÏ´ï´Ø¿ô¤¬µ­¹æ¤òÊÖ¤¹ÊýË¡¤Ë´Ø·¸¤·¤Þ¤¹¡£

yylex¤¬ÊÖ¤¹Ãͤϡ¢½ªÃ¼µ­¹æ¤Î¤É¤ì¤«¤òɽ¤·¡¢ ÆþÎϤνª¤ï¤ê¤Ç¤Ï0¤Ç¤¹¡£ ʸˡµ¬Â§¤ÎÃæ¤Ç¤É¤ÎÊýË¡¤Ç¥È¡¼¥¯¥ó·¿¤ò½ñ¤¤¤Æ¤â¡¢ yylex¤òÄêµÁ¤¹¤ë½ñ¤­Êý¤ÏƱ¤¸¤Ç¤¹¡£ 1ʸ»ú¥È¡¼¥¯¥ó·¿¤ËÂФ¹¤ëÉ乿¤Ï¡¢¤½¤Îʸ»ú¤ÎASCIIÉ乿¤Ê¤Î¤Ç¡¢ yylex¤ÏɬÍפÊÉ乿¤òÀ¸À®¤¹¤ë¤¿¤á¤ËƱ°ì¤Îʸ»úÄê¿ô¤ò»È¤¨¤Þ¤¹¡£ ̾Á°¤òÉÕ¤±¤é¤ì¤¿¥È¡¼¥¯¥ó·¿¤Ï¤½¤ì¤¾¤ì¡¢ ¹½Ê¸²òÀÏ´ï¥Õ¥¡¥¤¥ë¤ÎÃæ¤ÇC¤Î¥Þ¥¯¥í¤Ë¤Ê¤ë¤Î¤Ç¡¢ yylex¤ÏÉ乿¤ËÂФ¹¤ë¥Þ¥¯¥í̾¤ò»È¤¨¤Þ¤¹¡£ ¤³¤ì¤¬¡¢½ªÃ¼µ­¹æ¤Î̾Á°¤Ë¥Ô¥ê¥ª¥Éµ­¹æ¤ò»È¤¨¤Ê¤¤Íýͳ¤Ç¤¹¡£ See Calling Convention for yylex¡£

yylex¤¬¹½Ê¸²òÀÏ´ï¤ÈÊ̤Υ½¡¼¥¹¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë½ñ¤«¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢ ¤½¤³¤Ç¥È¡¼¥¯¥ó·¿¥Þ¥¯¥íÄêµÁ¤ò»È¤¨¤ë¤è¤¦¤Ë½àÈ÷¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ‘-d’¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ÆBison¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤¹¤ë¤È¡¢¥Þ¥¯¥íÄêµÁ¤¬name.tab.h¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ë½ñ¤«¤ì¡¢ ɬÍפ˱þ¤¸¤ÆÊ̤Υ½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¥¤¥ó¥¯¥ë¡¼¥É¤Ç¤­¤Þ¤¹¡£ See Invoking Bison¡£

µ­¹æerror¤Ï¡¢¥¨¥é¡¼²óÉüÍѤËͽÌ󤵤줿½ªÃ¼µ­¹æ¡Êsee Error Recovery¡Ë ¤Ç¡¢Â¾¤ÎÌÜŪ¤Ë»È¤¦¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¼ÂºÝ¤Ë¡¢yylex¤¬¤³¤ÎÃͤòÊÖ¤¹¤³¤È¤Ï·è¤·¤Æ¤¢¤ê¤Þ¤»¤ó¡£


Footnotes

(8)

¡ÚÌõÃí¡Û±Ñ¿ô»ú°Ê³°¤Îʸ»ú¡£

(9)

¡ÚÌõÃí¡Û‘\’¤Ë³¤¯É½¸½¡£