Next: , Previous: Start Decl, Up: Declarations   [Contents][Index]


3.6.7 ½ã¿è¡ÊºÆÆþ²Äǽ¡Ë¹½Ê¸²òÀÏ´ï

ºÆÆþ²Äǽ¡Êreentrant¡Ë¥×¥í¥°¥é¥à¤È¤Ï¡¢¿ÊÏ©¤òÊѤ¨¤Ê¤¤¥×¥í¥°¥é¥à¡¢ ¤¤¤¤¤«¤¨¤ì¤Ð¡¢´°Á´¤Ë½ã¿è¤Ê¡Êpure¡Ë¡ÊÆÉ¤ß½Ð¤·ÀìÍѡ˥³¡¼¥É¤«¤é¤Ê¤ë ¥×¥í¥°¥é¥à¤Ç¤¹¡£ 11 ºÆÆþ²ÄǽÀ­¤Ï¡¢È󯱴ü¼Â¹Ô¤¬²Äǽ¤Ê¾ì¹ç¤Ë½ÅÍפǤ¹¡£ ¤¿¤È¤¨¤Ð¡¢ºÆÆþ²Äǽ¤Ç¤Ê¤¤¥×¥í¥°¥é¥à¤ò¡¢ ¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤«¤é¸Æ¤Ó½Ð¤¹¤³¤È¤Ï´í¸±¤Ç¤¹¡£¥Þ¥ë¥Á¥¹¥ì¥Ã¥ÉÀ©¸æ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ ºÆÆþÉÔǽ¥×¥í¥°¥é¥à¤Ï¥¤¥ó¥¿¡¼¥í¥Ã¥¯¤«¤é¤·¤«¸Æ¤Ó½Ð¤»¤Þ¤»¤ó¡£

Ä̾ï¤Ï¡¢Bison¤ÏºÆÆþ²Äǽ¤Ç¤Ê¤¤¹½Ê¸²òÀÏ´ï¤òÀ¸À®¤·¤Þ¤¹¡£ ¤³¤ì¤Ï¤Û¤È¤ó¤É¤Î»ÈÍѤ˹礤¡¢YACC¤È¤Î¸ß´¹À­¤âÊݤÁ¤Þ¤¹¡£ ¡Êɸ½à¤ÎYACC¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï·Ñ³Ū¤ËÈóºÆÆþ²Äǽ¤Ç¤¢¤ê¤Þ¤¹¡£ ¤È¤¤¤¦¤Î¤Ï¡¢yylex¡¢yylval ¤ä yylloc ¤È¤ÎÄÌ¿®¤Ë ÀÅŪ¤Ë³ÎÊݤµ¤ì¤¿ÊÑ¿ô 12 ¤ò»È¤¦¤«¤é¤Ç¤¹¡£

Âå¤ï¤ê¤Ë¡¢½ã¿è¤Ê¡¢ºÆÆþ²Äǽ¤Ê¹½Ê¸²òÀÏ´ï¤òÀ¸À®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¼¡¤Î¤è¤¦¤Ê%pure_parser BisonÀë¸À¤Ï¡¢ ºÆÆþ²Äǽ¤Ê¹½Ê¸²òÀÏ´ï¤òÀ¸À®¤·¤Þ¤¹¡£

%pure_parser

¤³¤ÎÀë¸À¤Ë¤è¤Ã¤Æ¡¢¾åµ­¤Î2¸Ä¤ÎÄÌ¿®ÍÑÊÑ¿ôyylval¤Èyylloc¤¬¡¢ yyparse¤Î¶É½êÊÑ¿ô¤Ë¤Ê¤ê¡¢ yylex»ú¶ç²òÀÏ´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹ÊýË¡¤¬ÊѤï¤ê¤Þ¤¹¡£ ¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢See Calling Conventions for Pure Parsers¡£ yyparse¤ÎÃæ¤ÎyynerrsÊÑ¿ô¤â¶É½êÊÑ¿ô¤Ë¤Ê¤ê¤Þ¤¹ ¡Êsee The Error Reporting Function yyerror¡Ë¡£ yypase´Ø¿ô¼«ÂΤò¸Æ¤Ó½Ð¤¹ÊýË¡¤ÏÊѤï¤ê¤Þ¤»¤ó¡£

²òÀϴ郎½ã¿è¤«¤É¤¦¤«¤Ïʸˡµ¬Â§¤Ë¤ÏÁ´¤¯´Ø·¸¤·¤Þ¤»¤ó¡£ Á´¤Æ¤ÎÍ­¸ú¤Êʸˡ¤«¤é¡¢½ã¿è¤Ê²òÀÏ´ï¤ÈÈóºÆÆþ²Äǽ¤Ê²òÀÏ´ï¤Î ¤É¤Á¤é¤«¤òÀ¸À®¤¹¤ë¤³¤¬¤Ç¤­¤Þ¤¹¡£


Footnotes

(11)

¡ÚÌõÃí¡Û¤¢¤ë¼ê³¤­¤Î½ªÎ»¤òÂÔ¤¿¤º¤Ë¡¢¤½¤Î¼ê³¤­¤òºÆÅٸƤӽФ»¤ë ¤³¤È¤Ç¤â¤¢¤ê¤Þ¤¹¡£

(12)

¡ÚÌõÃí¡Û¾¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤«¤é¸«¤¨¤Ê¤¤¤È¤¦°ÕÌ£¤Ç¤Ï¤Ê¤¯¡¢ ¥á¥â¥ê¾å¤Î¸ÇÄêÈÖÃϤËÃÖ¤«¤ì¤ë¤È¤¤¤¦°ÕÌ£¡£