Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
| • Introduction: | ||
| • Conditions: | ||
| • Copying: | GNU°ìÈÌ»ÈÍѸøÍµöÂú½ñ¤ÏBison¤òÊ£À½¤·¤¿¤ê¶¦Í¤·¤¿¤ê ¤¹¤ëÊýË¡¤ò¼¨¤·¤Æ¤¤¤ë | |
¥Á¥å¡¼¥È¥ê¥¢¥ëÉôʬ: | ||
|---|---|---|
| • Concepts: | Bison¤òÍý²ò¤¹¤ë¤¿¤á¤Î´ðËܳµÇ°. | |
| • Examples: | Bison¤ÎÍøÍѤò´Êñ¤ËÀâÌÀ¤·¤¿3¤Ä¤ÎÎã. | |
»²¾ÈÉôʬ: | ||
| • Grammar File: | Bison¤ÎÀë¸À¤Èµ¬Â§¤ò½ñ¤¯. | |
| • Interface: | ²òÀÏ´ï´Ø¿ôyyparse¤Ø¤ÎC¸À¸ì¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹.
| |
| • Algorithm: | Bison²òÀϴ郎¼Â¹Ô»þ¤Ëưºî¤¹¤ëÊýË¡. | |
| • Error Recovery: | ¥¨¥é¡¼²óÉü¤Îµ¬Â§¤ò½ñ¤¯. | |
| • Context Dependency: | ¸À¸ì¹½Ê¸¤¬Bison¤¬Î¨Ä¾¤Ë°·¤¦¤Ë¤ÏÊ£»¨¤¹¤®¤ë¤È¤¤Ë ²¿¤ò¤¹¤Ù¤¤«. | |
| • Debugging: | ´Ö°ã¤Ã¤¿²òÀϤò¤¹¤ëBison²òÀÏ´ï¤Î¥Ç¥Ð¥Ã¥°¤ò¤¹¤ë. | |
| • Invocation: | (²òÀϴ諒¡¼¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë)Bison¤ò¼Â¹Ô ¤¹¤ëÊýË¡. | |
| • Table of Symbols: | Bison¤ÎÁ´¤Æ¤Î¥¡¼¥ï¡¼¥É¤ÎÀâÌÀ. | |
| • Glossary: | ´ðËܳµÇ°¤ÎÀâÌÀ. | |
| • Index: | ¥Æ¥¥¹¥È¤Ø¤ÎÁê¸ß»²¾È. | |
— The Detailed Node Listing — Bison¤Î³µÇ° | ||
| • Language and Grammar: | ¿ô³Ø¤ÎȯÁÛ¤ÈÆ±¤¸¡¢¸À¸ì¤Èʸ̮¤Ë°Í¸¤·¤Ê¤¤Ê¸Ë¡. | |
| • Grammar in Bison: | Bison¤Î¤¿¤á¤Ëʸˡ¤òɽ¸½¤¹¤ëÊýË¡. | |
| • Semantic Values: | ¤½¤ì¤¾¤ì¤Î¥È¡¼¥¯¥ó¤äʸˡ¥°¥ë¡¼¥×¤Ï°ÕÌ£ÃÍ ¡ÊÀ°¿ô¤ÎÃÍ¡¢¼±Ê̻ҤÎ̾Á°¡¢¤Ê¤É¡£¡Ë ¤ò¼è¤ë¤³¤È¤¬¤Ç¤¤ë. | |
| • Semantic Actions: | ¤½¤ì¤¾¤ì¤Îµ¬Â§¤ÏC¥³¡¼¥É¤ò´Þ¤ó¤À¥¢¥¯¥·¥ç¥ó¤ò»ý¤Ä¤³ ¤È¤¬¤Ç¤¤ë. | |
| • Bison Parser: | Bison¤ÎÆþÎϤȽÐÎϤʲ¿¤Ç¡¢½ÐÎϤϤɤΤ褦¤Ë»È¤ï¤ì¤ë ¤«¡£ | |
| • Stages: | Bison¤Îʸˡ¤ò½ñ¤¤¤Æ¼Â¹Ô¤µ¤»¤ë¼ê½ç. | |
| • Grammar Layout: | Bisonʸˡ¥Õ¥¡¥¤¥ë¤ÎÁ´ÂΤι½Â¤. | |
Îã | ||
| • RPN Calc: | µÕ¥Ý¡¼¥é¥ó¥ÉµË¡ÅÅÂî; ±é»»»Ò¤ÎÍ¥Àè½ç°Ì¤¬Ìµ¤¤¡¢ºÇ½é¤ÎÎã. | |
| • Infix Calc: | Ãæ´Ö¡ÊÂå¿ô¡ËµË¡ÅÅÂî. ±é»»»Ò¤ÎÍ¥Àè½ç°Ì¤¬Æ³Æþ¤µ¤ì¤¿. | |
| • Simple Error Recovery: | ¹½Ê¸¥¨¥é¡¼¤Î¸å¤â³¹Ô¤¹¤ë. | |
| • Multi-function Calc: | ¥á¥â¥ê¤È»°³Ñ´Ø¿ôÉÕ¤¤ÎÅÅÂî. °ÕÌ£ÃͤËÊ£¿ô¤Î¥Ç¡¼¥¿·¿¤ò»ÈÍѤ¹¤ë. | |
| • Exercises: | ¿µ¡Ç½ÅÅÂî¤ò²þÁ±¤¹¤ë¤¿¤á¤ÎÃåÁÛ. | |
µÕ¥Ý¡¼¥é¥ó¥ÉµË¡ÅÅÂî | ||
| • Decls: | rpcalc¤Î¤¿¤á¤ÎBison¤ÈC¤ÎÀë¸À. | |
| • Rules: | rpcalc¤Î¤¿¤á¤Îʸˡµ¬Â§¡£ÀâÌÀÉÕ¤. | |
| • Lexer: | »ú¶ç²òÀÏ´ï. | |
| • Main: | À©¸æ´Ø¿ô. | |
| • Error: | ¥¨¥é¡¼Êó¹ð´Ø¿ô. | |
| • Gen: | ʸˡ¥Õ¥¡¥¤¥ë¤ÇBison¤ò¼Â¹Ô¤¹¤ë. | |
| • Comp: | ½ÐÎÏ¥³¡¼¥É¤ËC¥³¥ó¥Ñ¥¤¥é¤ò¼Â¹Ô¤¹¤ë. | |
| ||
| • Rpcalc Input: | ||
| • Rpcalc Line: | ||
| • Rpcalc Expr: | ||
¿µ¡Ç½ÅÅÂî¡§ | ||
| • Decl: | ¿µ¡Ç½ÅÅÂî¤Î¤¿¤á¤ÎBison¤ÎÀë¸À. | |
| • Rules: | ÅÅÂî¤Î¤¿¤á¤Îʸˡµ¬Â§. | |
| • Symtab: | µ¹æÉ½¤ò´ÉÍý¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó. | |
Bisonʸˡ¥Õ¥¡¥¤¥ë | ||
| • Grammar Outline: | ʸˡ¥Õ¥¡¥¤¥ë¤Î³µÎ¬. | |
| • Symbols: | ½ªÃ¼µ¹æ¤ÈÈó½ªÃ¼µ¹æ. | |
| • Rules: | ʸˡµ¬Â§¤Î½ñ¤Êý. | |
| • Recursion: | ºÆµ¢Åªµ¬Â§¤Î½ñ¤Êý. | |
| • Semantics: | °ÕÌ£Ãͤȥ¢¥¯¥·¥ç¥ó. | |
| • Declarations: | Á´¤Æ¤Î¼ïÎà¤ÎBisonÀë¸À¤ÎÀâÌÀ. | |
| • Multiple Parsers: | °ì¤Ä¤Î¥×¥í¥°¥é¥à¤Ë°ì¤Ä¤è¤ê¿¤¯¤ÎBison¹½Ê¸²òÀÏ´ï¤ò Æþ¤ì¤ë. | |
Bisonʸˡ¤Î³µÍ× | ||
| • C Declarations: | CÀë¸ÀÉô¤Î¹½Ê¸¤È»ÈÍÑË¡. | |
| • Bison Declarations: | BisonÀë¸ÀÉô¤Î¹½Ê¸¤È»ÈÍÑË¡. | |
| • Grammar Rules: | ʸˡµ¬Â§Éô¤Î¹½Ê¸¤È»ÈÍÑË¡. | |
| • C Code: | ÄɲäÎC¥³¡¼¥ÉÉô¤Î¹½Ê¸¤È»ÈÍÑË¡. | |
¸À¸ì¤Î°ÕÌ£¤ÎÄêµÁ | ||
| • Value Type: | Á´¤Æ¤Î°ÕÌ£Ãͤ˰ì¤Ä¤Î¥Ç¡¼¥¿·¿¤ò»ØÄꤹ¤ë. | |
| • Multiple Types: | Ê£¿ô¤ÎÊ̤Υǡ¼¥¿·¿¤ò»ØÄꤹ¤ë. | |
| • Actions: | ¥¢¥¯¥·¥ç¥ó¤Ïʸˡµ¬Â§¤Î°Ọ̃ŪÄêµÁ. | |
| • Action Types: | ¥¢¥¯¥·¥ç¥ó¤¬Áàºî¤¹¤ë¥Ç¡¼¥¿·¿¤ò»ØÄꤹ¤ë. | |
| • Mid-Rule Actions: | ¤Û¤È¤ó¤É¤Î¥¢¥¯¥·¥ç¥ó¤Ïµ¬Â§¤ÎºÇ¸å¤Ë¹Ô¤¯. ¤³¤ì¤Ïµ¬Â§¤ÎºÇÃæ¤Ç¡¢¤¤¤Ä¡¢¤Ê¤¼¡¢¤É¤Î¤è¤¦¤Ë Îã³°¥¢¥¯¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë¤«¤ò»Ø¼¨¤¹¤ë. | |
BisonÀë¸À | ||
| • Token Decl: | ½ªÃ¼µ¹æ¤òÀë¸À¤¹¤ë. | |
| • Precedence Decl: | Í¥Àè½ç°Ì¤È·ë¹çµ¬Â§¤È¤È¤â¤Ë½ªÃ¼¤òÀë¸À¤¹¤ë. | |
| • Union Decl: | Á´¤Æ¤Î°ÕÌ£Ãͤη¿¤Î½¸¹ç¤òÀë¸À¤¹¤ë. | |
| • Type Decl: | Èó½ªÃ¼µ¹æ¤Î¤¿¤á¤Î·¿¤ÎÁªÂò¤òÀë¸À¤¹¤ë. | |
| • Expect Decl: | ¥·¥Õ¥È/´Ô¸µ¾×ÆÍ¤Î·Ù¹ð¤òÍÞÀ©¤¹¤ë. | |
| • Start Decl: | ³«»Ïµ¹æ¤ò»ØÄꤹ¤ë. | |
| • Pure Decl: | ºÆÆþ¹½Ê¸²òÀÏ´ï¤òÍ׵᤹¤ë. | |
| • Decl Summary: | Á´¤Æ¤ÎBisonÀë¸À¤Îɽ. | |
¹½Ê¸²òÀÏ´ï¤ÎC¸À¸ì¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ | ||
| • Parser Function: | yyparse¤Î¸Æ¤ÓÊý¤È¡¢¤½¤ì¤¬ÊÖ¤¹¤â¤Î.
| |
| • Lexical: | ¥È¡¼¥¯¥ó¤òÆÉ¤ß¹þ¤à´Ø¿ôyylex¤òÄ󶡤·¤Ê¤±¤ì¤Ð
¤Ê¤é¤Ê¤¤.
| |
| • Error Reporting: | ´Ø¿ôyyerror¤òÄ󶡤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤.
| |
| • Action Features: | ¥¢¥¯¥·¥ç¥ó¤Ç»È¤¨¤ëÆÃÊ̤ʵ¡Ç½. | |
»ú¶ç²òÀÏ´ï´Ø¿ô | ||
| • Calling Convention: | yyparse¤¬yylex¤ò¸Æ¤ÖÊýË¡.
| |
| • Token Values: | yylex¤¬¤É¤Î¤è¤¦¤ËÆÉ¤ß¹þ¤ó¤À¥È¡¼¥¯¥ó¤Î
°ÕÌ£ÃͤòÊÖ¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«.
| |
| • Token Positions: | ¥¢¥¯¥·¥ç¥ó¤¬Ë¾¤à¤È¤¤Ë¡¢¤É¤Î¤è¤¦¤Ëyylex¤¬
¥Æ¥¥¹¥È¤Î°ÌÃ֡ʹԿô¤Ê¤É¡Ë¤òÊÖ¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤
¤«¡£
| |
| • Pure Calling: | ½ã¿è¤Ê¹½Ê¸²òÀÏ´ï¤Ç¸Æ¤Ó½Ð¤··¿¤Î½¬´·¤¬¤É¤Î¤è¤¦¤Ë °ã¤¦¤« (see A Pure (Reentrant) Parser). | |
Bison¹½Ê¸²òÀÏ´ï¤Î¥¢¥ë¥´¥ê¥º¥à | ||
| • Look-Ahead: | ¹½Ê¸²òÀÏ´ï¤Ï²¿¤ò¤¹¤ë¤«¤ò·è¤á¤ë¤È¤¤Ë°ì¤ÄÀè¤Î¥È¡¼¥¯ ¥ó¤ò¸«¤ë. | |
| • Shift/Reduce: | ¾×ÆÍ: ¥·¥Õ¥È¤È´Ô¸µ¤ÎξÊý¤¬Í¸ú¤Ê¤È¤. | |
| • Precedence: | ±é»»»Ò¤ÎÍ¥Àè½ç°Ì¤Ï¾×ÆÍ¤ò²ò·è¤¹¤ë¤³¤È¤Çưºî¤¹¤ë. | |
| • Contextual Precedence: | ±é»»»Ò¤ÎÍ¥Àè½ç°Ì¤¬Ê¸Ì®¤Ë°Í¸¤¹¤ë¤È¤. | |
| • Parser States: | ¹½Ê¸²òÀÏ´ï¤Ï¥¹¥¿¥Ã¥¯ÉÕ¤¤Î͸¾õÂÖµ¡³£. | |
| • Reduce/Reduce: | Ʊ¤¸¾õ¶·¤Ë2¤Ä¤Îµ¬Â§¤¬Å¬ÍѲÄǽ¤Ê¤È¤. | |
| • Mystery Conflicts: | Àµ¤·¤¯¤Ê¤¤¤è¤¦¤Ë¸«¤¨¤ë´Ô¸µ/´Ô¸µ¾×ÆÍ. | |
| • Stack Overflow: | ¥¹¥¿¥Ã¥¯¤¬°ìÇդˤʤ俤Ȥ¤Ë²¿¤¬µ¯¤³¤ë¤¦¤«. ¤½¤ì¤ò Èò¤±¤ëÊýË¡. | |
±é»»»Ò¤ÎÍ¥Àè½ç°Ì | ||
| • Why Precedence: | Í¥Àè½ç°Ì¤¬É¬Íפʤ³¤È¤ò¼¨¤¹Îã. | |
| • Using Precedence: | Bisonʸˡ¤ÇÍ¥Àè½ç°Ì¤ò»ØÄꤹ¤ëÊýË¡. | |
| • Precedence Examples: | Á°¤ÎÎã¤Ç¤³¤ì¤é¤Îµ¡Ç½¤¬»È¤ï¤ì¤¿ÊýË¡. | |
| • How Precedence: | ¤É¤Î¤è¤¦¤Ëưºî¤¹¤ë¤«. | |
ʸ̮°Í¸À¤Î½èÍý | ||
| • Semantic Tokens: | ¥È¡¼¥¯¥ó¹½Ê¸²òÀϤϰỌ̃Ūʸ̮¤Ë°Í¸¤¹¤ë. | |
| • Lexical Tie-ins: | ¥È¡¼¥¯¥ó¹½Ê¸²òÀϤϹ½Ê¸ÅªÊ¸Ì®¤Ë°Í¸¤¹¤ë. | |
| • Tie-in Recovery: | »ú¶ç·ë¤ÓÉÕ¤¤Ï¥¨¥é¡¼²óÉüµ¬Â§¤ò½ñ¤¯ÊýË¡¤Ë±Æ¶Á¤¹¤ë. | |
Bison¤Î¼Â¹Ô | ||
| • Bison Options: | Á´¤Æ¤Î¥ª¥×¥·¥ç¥ó¤¬¾Ü¤·¤¯¡¢Ã»¤¤¥ª¥×¥·¥ç¥ó¤Ç¥¢¥ë¥Õ¥¡ ¥Ù¥Ã¥È½ç¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤ë. | |
| • Option Cross Key: | Ť¤¥ª¥×¥·¥ç¥ó¤Î¥¢¥ë¥Õ¥¡¥Ã¥Ù¥Ã¥È½ç¤Î¥ê¥¹¥È. | |
| • VMS Invocation: | VMS¤Ç¤ÎBison¤Î¥³¥Þ¥ó¥É¹½Ê¸. | |
Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]