Next: , Previous: Semantic Actions, Up: Concepts   [Contents][Index]


1.5 Bison¤Î½ÐÎÏ¡½¡½¹½Ê¸²òÀÏ´ï¥Õ¥¡¥¤¥ë

Bison¤ò»È¤¦¤È¤­¤Ë¤Ï¡¢ÆþÎϤȤ·¤ÆBisonʸˡ¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ ʸˡ¤Çµ­½Ò¤µ¤ì¤¿¸À¸ì¤ò²òÀϤ¹¤ë¡¢C¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬½ÐÎϤˤʤê¤Þ¤¹¡£ ¤³¤Î¥Õ¥¡¥¤¥ë¤òBison¹½Ê¸²òÀÏ´ï¡ÊBison parser¡Ë¤È¸Æ¤Ó¤Þ¤¹¡£ Bison¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ÈBison¹½Ê¸²òÀÏ´ï¤Ï¡¢ ÊÌ¤Î¥×¥í¥°¥é¥à¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ Bison¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Î½ÐÎϤ¬Bison¹½Ê¸²òÀÏ´ï¤Ç¡¢ ¤¢¤Ê¤¿¤Î¥×¥í¥°¥é¥à¤Î°ìÉôʬ¤Ë¤Ê¤ë¤Î¤Ç¤¹¡£

Bison¹½Ê¸²òÀÏ´ï¤Î»Å»ö¤Ï¡¢Ê¸Ë¡µ¬Â§¤Ë½¾¤Ã¤Æ¡¢¥È¡¼¥¯¥ó¤ò¥°¥ë¡¼¥×²½¤¹¤ë¤³¤È¤Ç¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¼±Ê̻Ҥȱ黻»Ò¤«¤é¼°¤òÁȤßΩ¤Æ¤Þ¤¹¡£ ¤³¤Î¤¿¤á¤Ë¡¢Ê¸Ë¡µ¬Â§¤ËÂбþ¤¹¤ë¥¢¥¯¥·¥ç¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£

¥È¡¼¥¯¥ó¤Ï¡¢»ú¶ç²òÀÏ´ï¡Êlexical analyzer¡Ë¤È¸Æ¤Ð¤ì¤ë´Ø¿ô¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¡¢ ¤½¤Î´Ø¿ô¤ò¡ÊC¤Ç½ñ¤¯¤è¤¦¤Ê¡Ë¤Ê¤ó¤é¤«¤ÎÊýË¡¤ÇÍ¿¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ Bison¹½Ê¸²òÀÏ´ï¤Ï¡¢¿·¤·¤¤¥È¡¼¥¯¥ó¤òɬÍפȤ¹¤ë¤¿¤Ó¤Ë¡¢ »ú¶ç²òÀÏ´ï¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ Bison¹½Ê¸²òÀÏ´ï¤Ï¡¢¥È¡¼¥¯¥ó¤Î¡ÖÆâÉô¡×¤¬¤Ê¤ó¤Ç¤¢¤ë¤«ÃΤê¤Þ¤»¤ó ¡Ê¤·¤«¤·¡¢¥È¡¼¥¯¥ó¤Î°ÕÌ£Ãͤϴط¸¤·¤Þ¤¹¡Ë¡£ °ìÈ̤ˡ¢»ú¶ç²òÀÏ´ï¤Ï¡¢¥Æ¥­¥¹¥ÈÃæ¤Îʸ»ú¤ò²òÀϤ·¤Æ¥È¡¼¥¯¥ó¤òÆÀ¤Þ¤¹¤¬¡¢ Bison¤Ï¤½¤ÎÊýË¡¤òÃΤê¤Þ¤»¤ó¡£ See The Lexical Analyzer Function yylex¡£

Bison¹½Ê¸²òÀÏ´ï¥Õ¥¡¥¤¥ë¤Ï¡¢C¤Î¥×¥í¥°¥é¥à¤Ç¡¢yyparse¤È¤¤¤¦Ì¾Á°¤Î¡¢ ʸˡ¤ò¼ÂÁõ¤¹¤ë´Ø¿ô¤òÄêµÁ¤·¤Þ¤¹¡£ ¤³¤Î´Ø¿ô¤Ï¡¢´°Á´¤ÊC¤Î¥×¥í¥°¥é¥à¤ò¹½À®¤·¤Þ¤»¤ó¡£ ¤¤¤¯¤Ä¤«¤Î´Ø¿ô¤òÊä¤Ã¤Æ¤ä¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ 1¤Ä¤Ï¡¢»ú¶ç²òÀÏ´ï¤Ç¤¹¡£ ¤â¤¦1¤Ä¤Ï¡¢¥¨¥é¡¼¤òÊó¹ð¤¹¤ë¤¿¤á¤Ë¹½Ê¸²òÀϴ郎¸Æ¤Ó½Ð¤¹¡¢ ¥¨¥é¡¼Êó¹ð´Ø¿ô¤Ç¤¹¡£ ¤µ¤é¤Ë¡¢´°Á´¤ÊC¥×¥í¥°¥é¥à¤Ïmain´Ø¿ô¤«¤é¼Â¹Ô¤ò»Ï¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢ ¤³¤ì¤òÊä¤Ã¤Æ¡¢¤½¤³¤«¤éyyparse¤ò¸Æ¤Ó½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£ See Parser C-Language Interface¡£

¤¢¤Ê¤¿¤¬½ñ¤¯¥¢¥¯¥·¥ç¥ó¤ÎÃæ¤Ç¤Î¥È¡¼¥¯¥ó¤Î·¿Ì¾¤Èµ­¹æ¤Ë´Ø·¸¤Ê¤¯¡¢ Bison¹½Ê¸²òÀÏ´ï¤ÎÃæ¤Ç»È¤ï¤ì¤ë¤¹¤Ù¤Æ¤ÎÊÑ¿ô¤È´Ø¿ô¤Î̾Á°¤Ï¡¢ ‘yy’¤Þ¤¿¤Ï‘YY’¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢»ú¶ç²òÀÏ´Ø¿ôyylex¤È¥¨¥é¡¼Êó¹ð´Ø¿ôyyerror¤ª¤è¤Ó ¹½Ê¸²òÀÏ´Ø¿ôyyparse¤Î¤è¤¦¤Ê¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹´Ø¿ô¤â´Þ¤ß¤Þ¤¹¡£ ¤Þ¤¿¡¢ÆâÉô¤Ç»È¤ï¤ì¤ë¿¿ô¤Î¼±ÊÌ»Ò¤âÆ±ÍͤǤ¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢Ëܽñ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤ò½ü¤¤¤Æ¡¢ Bisonʸˡ¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç‘yy’¤Þ¤¿¤Ï‘YY’¤Ç»Ï¤Þ¤ë C¤Î¼±Ê̻ҤÎÍøÍѤÏÈò¤±¤ë¤Ù¤­¤Ç¤¹¡£