Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
Flex¤Ï¡¢ ÆþÎϤȤ·¤Æ¹âµéµ½Ò¸À¸ì¤ò¼õ¤±¼è¤ê¡¢ ½ÐÎϤȤ·¤ÆC¸À¸ì¤Çµ½Ò¤µ¤ì¤¿¥¹¥¥ã¥Ê¤òÀ¸À®¤¹¤ë¡¢ »ú¶ç¥¹¥¥ã¥ÊÀ¸À®¥×¥í¥°¥é¥à¤Ç¤¹¡£ Flex¼«¿È¤¬¡¢ ɸ½à¤ÎUnix¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ÈÈæ³Ó¤·¤Æ¤è¤ê¹â®¤Ëưºî¤·¤Þ¤¹¤·¡¢ À¸À®¤µ¤ì¤ë¥¹¥¥ã¥Ê¤â¤è¤ê¹â®¤Ç¤¹¡£ ¤Þ¤¿¡¢ POSIX¡¢Lex¤È¤Î¸ß´¹À¤â½½Ê¬È÷¤¨¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ï¡¢ 1993ǯ2·îȯ¹Ô¡¢¥¨¥Ç¥£¥·¥ç¥ó1.03¤ÎFlex 2.3.7¥Þ¥Ë¥å¥¢¥ë¤Ç¤¹¡£ Flex 2.5¤Î¿·µ¡Ç½¤Ë´Ø¤¹¤ë¾ðÊó¤âÄɲ䷤Ƥ¢¤ê¤Þ¤¹¡£ Flex 2.5¤Î¿·µ¡Ç½¤Ë´Ø¤¹¤ëÀá¤Î̾Á°¤Ë¤Ï¡¢ ¡Ö¡ÊFlex 2.5¤ÎÊä¾ðÊó¡Ë¡×¤È½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
============================================================================
• Introduction: | Flex¤ÎɬÍ×À¤È¤½¤Îµ¡Ç½ | |
• Invoking Flex: | Flex¤Îµ¯Æ°ÊýË¡¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó | |
• Flex Descriptions: | Flexµ½Ò¸À¸ì | |
• Interfacing to Flex: | Flex¥¹¥¥ã¥Ê¤ÈC¸À¸ì¤Î·ë¹ç | |
• Other Flex Features: | ÄɲÃŪ¤ÊFlexµ¡Ç½¡¢°ìÈÌŪ¤Ç¤Ï¤Ê¤¤Flexµ¡Ç½ | |
• Optimization: | Flex¥¹¥¥ã¥Ê¤ÎºÇŬ²½ÊýË¡ | |
• More Examples: | Flex¤ò»È¤¦¤¿¤á¤Î¼ÂÎã | |
• Flex and Lex: | Flex¤ÈLex¤ÎÁê°ãÅÀ¡¢Àǽ¡¢POSIXɸ½à¤Ø¤Î½àµòÅÙ | |
• Useful Code: | ¥æ¡¼¥¶¡¦¥¹¥¥ã¥Ê¤ÎÃæ¤Ç»È¤¦¤³¤È¤Î¤Ç¤¤ë¥³¡¼¥É | |
• Summary: | ¥ª¥×¥·¥ç¥ó¡¢ÊÑ¿ô¤Ê¤É¤ÎÍ×Ìó | |
• Index: | ¥¤¥ó¥Ç¥Ã¥¯¥¹ | |
— The Detailed Node Listing — FlexÆþÌç | ||
---|---|---|
• Problem Solving: | ÌäÂê²ò·è¼êÃʤȤ·¤Æ¤ÎFlex | |
• General Programming: | °ìÈÌŪ¤Ê¥×¥í¥°¥é¥ß¥ó¥°¡¦¥Ä¡¼¥ë¤È¤·¤Æ¤ÎFlex | |
Flex¤Îµ¯Æ° | ||
• Command Line Switches: | Flex¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó | |
• Command Line Switches (Flex 2.5): | Ʊ¾å¡ÊFlex 2.5¤ÎÊä¾ðÊó¡Ë | |
Flexµ½Ò¸À¸ì | ||
• Comments: | Flex¤Î¥³¥á¥ó¥È¡¦¥¹¥¿¥¤¥ë¤ÎÀâÌÀ | |
• Optional C Code: | FlexÄêµÁ¤ÎÀèÆ¬¤ÎC¥³¡¼¥É¡¦¥»¥¯¥·¥ç¥ó¤ÎÀâÌÀ | |
• Definitions: | Flex¤Ë¤ª¤±¤ëÄêµÁ¤Î½ñ¤Êý | |
• %%: | ¶èÀÚ¤êʸ»ú%%¤Î°ÕÌ£ | |
• Rules: | Flex¥Õ¥¡¥¤¥ë¤Î¥ë¡¼¥ë¡¦¥»¥¯¥·¥ç¥ó | |
• Pattern Matching: | ¥Ñ¥¿¡¼¥ó¡¦¥Þ¥Ã¥Á¥ó¥°¤Ë»È¤ï¤ì¤ëÉôʬ | |
• Regular Expressions: | ¥Ñ¥¿¡¼¥ó¤Î¥Þ¥Ã¥Á¥ó¥° | |
• Start States: | ¤¢¤ë¾ò·ï¤Ë¤â¤È¤Å¤¤¤Æ¥Ñ¥¿¡¼¥ó¡¦¥Þ¥Ã¥Á¥ó¥°¡¦ ¥ë¡¼¥ë¤ò³èÀ²½¤µ¤»¤ëÊýË¡ | |
• %option (Flex 2.5): | %option»Ø¼¨»Ò¤ÎÀâÌÀ | |
¥Ñ¥¿¡¼¥ó¡¦¥»¥¯¥·¥ç¥ó | ||
• Characters: | Flex¤Ë¤ª¤±¤ëʸ»ú¡¢ÆÃ¼ìʸ»ú | |
• Strings: | Flex¤Ë¤ª¤±¤ëʸ»úÎó¡¢ÆÃ¼ìʸ»úÎó | |
• Character Classes: | ʸ»ú¥¯¥é¥¹¤ÎÀâÌÀ¡¢¤½¤Î»È¤¤Êý | |
• Character Class Expressions (Flex 2.5): | Ʊ¾å¡ÊFlex 2.5¤ÎÊä¾ðÊó¡Ë | |
¥¹¥¿¡¼¥È¾õÂÖ | ||
• Start States Explained: | ¥¹¥¿¡¼¥È¾õÂÖ¤ÎÀë¸À¡¢¥¹¥¥ã¥Ê¤ËÂФ¹¤ë¸ú²Ì | |
• Activating States: | ¥¹¥¿¡¼¥È¾õÂ֤γèÀ²½ÊýË¡ | |
• Start State Notes: | ÉÔÅö¤ÊÀë¸À¡¢ÇÓ¾Ū¥¹¥¿¡¼¥È¾õÂ֤Υѥ¤Ë ´Ø¤¹¤ëÃí | |
• Start State Notes (Flex 2.5): | Ʊ¾å ¡ÊFlex 2.5¤ÎÊä¾ðÊó¡Ë | |
• Start State Example: | ¥¹¥¿¡¼¥È¾õÂ֤λÈÍÑÎã | |
Flex¤È¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ | ||
• Flex and C: | C¤ÈFlex¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ | |
• Flex and C (Flex 2.5): | Ʊ¾å¡ÊFlex 2.5¤ÎÊä¾ðÊó¡Ë | |
• An Example of Flex and C: | ¥Õ¥£¥ë¥¿¤Ë¤ª¤±¤ëʸ»úÎóÂåÂØ | |
• Flex and Bison: | Flex¤ÈBison¤Î¶¨Æ± | |
• Another Example of Flex and Bison: | Flex¤ÈBison¤Î¤â¤¦£±¤Ä¤Î¼ÂÎã | |
• Flex and C++ (Flex 2.5): | C++¤ÈFlex¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ ¡ÊFlex 2.5¤ÎÊä¾ðÊó¡Ë | |
Flex¤ÈBison | ||
• Interfacing Flex and Bison: | °ìÈÌŪ¤ÊÊýË¡ | |
• YYSTYPE and yylval: | ñ¤Ê¤ëÀ°¿ô°Ê¾å¤Î¾ðÊó¤ÎÅϤ·Êý | |
Flex¤ÈBison¤Î¤â¤¦£±¤Ä¤Î¼ÂÎã | ||
• The Database Language: | ¥Ç¡¼¥¿¥Ù¡¼¥¹¸À¸ì¤ÎÄêµÁ | |
• The Implementation: | ¸À¸ì¤ò²òÀϤ¹¤ë¥Õ¥¡¥¤¥ë | |
• Notes on the Implementation: | ¤³¤Î¼ÂÁõ¤òÁªÂò¤·¤¿Íýͳ¤Ë´Ø¤¹¤ë¡Ê´Êñ¤Ê¡ËÃí | |
Flex¤Î¾¤ÎÆÃħ | ||
• Case Insensitive Scanners: | Âçʸ»ú¡¦¾®Ê¸»ú¤ò¶èÊ̤¹¤ë¥¹¥¥ã¥Ê | |
• Interactive Scanners: | ¥æ¡¼¥¶¤«¤éÆþÎϤò¼õ¤±¼è¤ë¥¹¥¥ã¥Ê | |
• Table Compression and Scanner Speed: | ¥Æ¡¼¥Ö¥ë°µ½Ì¤È¥¹¥¥ã¥Ê¤Î¥¹¥Ô¡¼¥É | |
• Translation Tables: | ʸ»ú¤ò¥°¥ë¡¼¥×²½¤¹¤ëÊ̤ÎÊýË¡ | |
• Multiple Input Buffers: | Ê£¿ô¤ÎÆþÎÏ¥¹¥È¥ê¡¼¥à¤ò¼õ¤±ÉÕ¤±¤ëÊýË¡ | |
• End-Of-File Rules: | EOF¤ò½èÍý¤¹¤ë¤¿¤á¤ÎÆÃ¼ì¤Ê¥ë¡¼¥ë | |
Âçʸ»ú¡¦¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤¥¹¥¥ã¥Ê | ||
• The -i Switch: | ÆþÎϤˤª¤¤¤ÆÂçʸ»ú¡¦¾®Ê¸»ú¤ò̵»ë¤¹¤ëÊýË¡ | |
Ê£¿ô¤ÎÆþÎϥХåե¡ | ||
• Buffer Manipulation: | ¥Ð¥Ã¥Õ¥¡Áàºî´Ø¿ô | |
• Buffer Manipulation (Flex 2.5): | Ʊ¾å¡ÊFlex 2.5¤ÎÊä¾ðÊó¡Ë | |
• Example of Multiple Buffers: | Ê£¿ô¥Ð¥Ã¥Õ¥¡¤ò»È¤¦¼ÂÎã | |
¥¹¥¥ã¥Ê¤ÎºÇŬ²½ | ||
• Optimizing for Speed: | ¥Õ¥¡¥¹¥È¡¦¥¹¥¥ã¥Ê¤òºî¤ë¤¿¤á¤Î¥Õ¥é¥°¡¢ ´ØÏ¢¤¹¤ë¥È¥Ô¥Ã¥¯ | |
• Optimizing for Size: | ¥µ¥¤¥º¤Î¾®¤µ¤¤¥¹¥¥ã¥Ê¤Îºî¤êÊý | |
¥¹¥Ô¡¼¥É¤ÎºÇŬ²½ | ||
• Removing Backtracking: | ¥Ð¥Ã¥¯¥È¥é¥Ã¥¥ó¥°¤Î½üµî¤Ë¤è¤ëÀǽ¤Î ÈôÌöŪ¸þ¾å | |
Flex¤ò»È¤¦¤½¤Î¾¤Î¼ÂÎã | ||
• Example-Counting Words: | wcÉ÷¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£ | |
• Example-Pascal Lexical Scanner: | ËÜʪ¤Î¸À¸ì¤ò¥¹¥¥ã¥ó¤¹¤ë¼ÂÎã | |
• Example-Jargon Converter: | ÀìÌçÍѸì¥Õ¥¡¥¤¥ë¤ÎTexinfo·Á¼°¤Ø¤ÎÊÑ´¹ | |
Flex¤ÈLex | ||
• Flex: | Flex | |
• Lex: | Lex | |
Flex | ||
• Flex and POSIX: | Flex¤ÈPOSIX | |
• Flex and POSIX (Flex 2.5): | Flex¤ÈPOSIX¡ÊFlex 2.5¤ÎÊä¾ðÊó¡Ë | |
Ìò¤ËΩ¤Ä¥³¡¼¥É¤ÎÈ´¿è | ||
• Handling Comments: | ¥³¥á¥ó¥È¤Î½èÍý | |
• Handling Strings: | ʸ»úÎó¤Î½èÍý | |
• Handling Numbers: | ¿ôÃͤνèÍý | |
• Multiple Scanners: | Ê£¿ô¤Î¥¹¥¥ã¥Ê | |
• Miscellaneous: | ¤½¤Î¾ | |
Í×Ìó | ||
• Switches Summary: | Flex¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥ª¥×¥·¥ç¥ó¤ÎÍ×Ìó | |
• Switches Summary (Flex 2.5): | Ʊ¾å¡ÊFlex 2.5¤ÎÊä¾ðÊó¡Ë | |
• Summary or Flex Variables and Functions: | FlexÊÑ¿ô¡¢Flex´Ø¿ô¤ÎÍ×Ìó | |
• Summary or Flex Variables and Functions (Flex 2.5): | Ʊ¾å¡ÊFlex 2.5¤ÎÊä¾ðÊó¡Ë | |
• Summary of Flex Characters: | ±é»»»Ò¡¢ÆÃ¼ìʸ»ú¡¢¥¨¥¹¥±¡¼¥×¡¦¥·¡¼¥±¥ó¥¹ °Ê³°¤Îʸ»ú¤ò¤½¤Îʸ»ú¼«¿È¤È¤·¤Æ¼õ¤±ÉÕ¤±¤ë | |
• Summary of Flex Rules: | Flex¥ë¡¼¥ë¤Î£²¤Ä¤Î¹½À®Í×ÁÇ |
========================================================================
Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]