Next: Action Features, Previous: Lexical, Up: Interface [Contents][Index]
yyerror
Bison¹½Ê¸²òÀÏ´ï¤Ï¡¢Ê¸Ë¡µ¬Â§¤ËŬ¹ç¤·¤Ê¤¤¥È¡¼¥¯¥ó¤òÆÉ¤à¤¿¤Ó¤Ë¡¢
¹½Ê¸²òÀÏ¥¨¥é¡¼¡Êparse error¡Ë¤¹¤Ê¤ï¤Áʸˡ¥¨¥é¡¼¡Êsyntax error¡Ë¤ò
¸¡½Ð¤·¤Þ¤¹¡£Ê¸Ë¡Ãæ¤Î¥¢¥¯¥·¥ç¥ó¤Ï¡¢¥Þ¥¯¥íYYERROR
¤ò»È¤Ã¤Æ¡¢
ÌÀ¼¨Åª¤Ë¥¨¥é¡¼¤ò¼¨¤»¤Þ¤¹
¡Êsee Special Features for Use in Actions¡Ë¡£
Bison¹½Ê¸²òÀÏ´ï¤Ï¡¢yyerror
¤È¤¤¤¦Ì¾Á°¤Î´Ø¿ô¤ò»È¤Ã¤Æ¡¢
¥¨¥é¡¼¤òÊó¹ð¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
»öÁ°¤ËÍѰդ¬É¬ÍפÊ
¤³¤Î´Ø¿ô¤Ï¡¢Ê¸Ë¡¥¨¥é¡¼¤¬È¯À¸¤¹¤ë¤¿¤Ó¤Ë¡¢1¸Ä¤Î°ú¿ô¤ò¤È¤â¤Ê¤Ã¤Æ¡¢
yyparse
¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£
¹½Ê¸²òÀÏ¥¨¥é¡¼¤ËÂФ·¤Æ¡¢°ú¿ô¤Îʸ»úÎó¤ÏÄ̾ï"parse error"
¤Ç¤¹¡£
BisonÄêµÁÉô¡Êsee The Bison Declarations Section¡Ë¤Ç¡¢
¥Þ¥¯¥íYYERROR_VERBOSE
¤òÄêµÁ¤¹¤ë¤È¡¢
"parse error"
¤ÎÂå¤ï¤ê¤Ë¡¢
¥¨¥é¡¼¤ò¾ÜºÙ¤ËÊó¹ð¤¹¤ëʸ»úÎó¤¬ÍѰդµ¤ì¤Þ¤¹¡£
¥Þ¥¯¥íYYERROR_VERBOSE
¤ÎÄêµÁ¤Ï¤Ê¤ó¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
¹½Ê¸²òÀÏ´ï¤Ï¡¢¤â¤¦1¼ïÎà¤Î¥¨¥é¡¼¤Ç¤¢¤ë¥¹¥¿¥Ã¥¯¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤ò¸¡½Ð¤¹¤ë
²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢ÆþÎϤ¬¤¤ï¤á¤Æ¿¼¤¤Æþ¤ì»Ò¤«¤é¤Ê¤Ã¤Æ¤¤¤ë¤È
µ¯¤³¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£Bison¹½Ê¸²òÀÏ´ï¤Ï¼«Æ°Åª¤Ë¥¹¥¿¥Ã¥¯¤Î¸Â³¦¤òÂ礤¯³ÈÄ¥¤·
¤Æ¤¤¤ë¤Î¤Ç¡¢¥¹¥¿¥Ã¥¯¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤Ï¤á¤Ã¤¿¤Ëµ¯¤¤Þ¤»¤ó¡£
¤·¤«¤·¡¢¤â¤·¥¹¥¿¥Ã¥¯¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¬µ¯¤¤ì¤Ð¡¢
"parser stack overflow"
¤È¤¤¤¦
ʸ»úÎó¤Î°ú¿ô¤ò¤È¤â¤Ê¤Ã¤Æ¡¢yyerror
¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£
ñ½ã¤Ê¥×¥í¥°¥é¥à¤Ç¤Ï¡¢¼¡¤ÎÎã¤Î¤è¤¦¤Ëyyerror
¤òÄêµÁ¤Ç¤¤Þ¤¹¡£
yyerror (s) char *s; {
fprintf (stderr, "%s\n", s); }
yyerror
¤«¤éÌá¤Ã¤¿¸å¡¢yyparse
¤Ï¡¢
ŬÀڤʥ¨¥é¡¼²óÉüʸˡµ¬Â§¡Êsee Error Recovery¡Ë¤¬¤¢¤ì¤Ð¡¢
¥¨¥é¡¼¤«¤é¤Î²óÉü¤ò»î¤ß¤Þ¤¹¡£
¤â¤·¡¢²óÉü¤¬ÉÔ²Äǽ¤Ê¤é¤Ð¡¢yyparse
¤Ï¨ºÂ¤Ë1¤òÊÖ¤·¤Þ¤¹¡£
ÊÑ¿ôyynerrs
¤Ë¤Ï¡¢¤½¤ì¤Þ¤Ç¤Ë½Ð¤¯¤ï¤·¤¿Ê¸Ë¡¥¨¥é¡¼¤Î¿ô¤¬µ²±¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
Ä̾¤³¤ÎÊÑ¿ô¤Ï¹°èÊÑ¿ô¤Ç¤¹¡£
¤·¤«¤·¡¢ºÆÆþ²Äǽ¤Ê¹½Ê¸²òÀÏ´ï¡Êsee A Pure (Reentrant) Parser¡Ë
¤òÀ¸À®¤·¤¿¾ì¹ç¤Ë¤Ï¡¢¥¢¥¯¥·¥ç¥ó¤«¤é¤Î¤ß»²¾È²Äǽ¤Ê¶É½êÊÑ¿ô¤Ë¤Ê¤ê¤Þ¤¹¡£