1This is flex.info, produced by makeinfo version 4.8 from flex.texi. 2 3INFO-DIR-SECTION Programming 4START-INFO-DIR-ENTRY 5* flex: (flex). Fast lexical analyzer generator (lex replacement). 6END-INFO-DIR-ENTRY 7 8 The flex manual is placed under the same licensing conditions as the 9rest of flex: 10 11 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 The Flex 12Project. 13 14 Copyright (C) 1990, 1997 The Regents of the University of California. 15All rights reserved. 16 17 This code is derived from software contributed to Berkeley by Vern 18Paxson. 19 20 The United States Government has rights in this work pursuant to 21contract no. DE-AC03-76SF00098 between the United States Department of 22Energy and the University of California. 23 24 Redistribution and use in source and binary forms, with or without 25modification, are permitted provided that the following conditions are 26met: 27 28 1. Redistributions of source code must retain the above copyright 29 notice, this list of conditions and the following disclaimer. 30 31 2. Redistributions in binary form must reproduce the above copyright 32 notice, this list of conditions and the following disclaimer in the 33 documentation and/or other materials provided with the 34 distribution. 35 36 Neither the name of the University nor the names of its contributors 37may be used to endorse or promote products derived from this software 38without specific prior written permission. 39 40 THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED 41WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 42MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 43 44 45Indirect: 46flex.info-1: 1620 47flex.info-2: 287921 48 49Tag Table: 50(Indirect) 51Node: Top1620 52Node: Copyright7690 53Node: Reporting Bugs9203 54Node: Introduction9508 55Node: Simple Examples10336 56Node: Format13646 57Node: Definitions Section14060 58Ref: Definitions Section-Footnote-116323 59Node: Rules Section16391 60Node: User Code Section17549 61Node: Comments in the Input17987 62Node: Patterns19355 63Ref: case and character ranges26186 64Node: Matching30201 65Node: Actions33487 66Node: Generated Scanner42466 67Node: Start Conditions47484 68Node: Multiple Input Buffers58043 69Ref: Scanning Strings64581 70Node: EOF66211 71Node: Misc Macros67799 72Node: User Values70653 73Node: Yacc72984 74Node: Scanner Options73880 75Node: Options for Specifying Filenames76638 76Ref: option-header76864 77Ref: option-outfile77576 78Ref: option-stdout77901 79Node: Options Affecting Scanner Behavior78883 80Ref: option-case-insensitive79124 81Ref: option-lex-compat79557 82Ref: option-batch80089 83Ref: option-interactive80613 84Ref: option-7bit81967 85Ref: option-8bit83271 86Ref: option-default83683 87Ref: option-always-interactive83747 88Ref: option-posix84351 89Ref: option-stack85498 90Ref: option-stdinit85606 91Ref: option-yylineno86084 92Ref: option-yywrap86527 93Node: Code-Level And API Options86795 94Ref: option-ansi-definitions87022 95Ref: option-ansi-prototypes87274 96Ref: option-bison-bridge87521 97Ref: option-bison-locations87860 98Ref: option-noline88120 99Ref: option-reentrant88634 100Ref: option-c++89245 101Ref: option-array89371 102Ref: option-pointer89469 103Ref: option-prefix89597 104Ref: option-main91126 105Ref: option-nounistd91310 106Ref: option-yyclass91818 107Node: Options for Scanner Speed and Size92304 108Ref: option-align92853 109Ref: option-ecs93354 110Ref: option-meta-ecs94390 111Ref: option-read94877 112Ref: option-full96760 113Ref: option-fast96955 114Node: Debugging Options97881 115Ref: option-backup98068 116Ref: option-debug98613 117Ref: option-perf-report99336 118Ref: option-nodefault99962 119Ref: option-trace100280 120Ref: option-nowarn100571 121Ref: option-verbose100639 122Ref: option-warn101068 123Node: Miscellaneous Options101287 124Node: Performance101744 125Node: Cxx112008 126Node: Reentrant119531 127Node: Reentrant Uses120208 128Node: Reentrant Overview121771 129Node: Reentrant Example122570 130Node: Reentrant Detail123345 131Node: Specify Reentrant123778 132Node: Extra Reentrant Argument124425 133Node: Global Replacement125677 134Node: Init and Destroy Functions126906 135Node: Accessor Methods129418 136Node: Extra Data130762 137Node: About yyscan_t133029 138Node: Reentrant Functions133425 139Ref: bison-functions134909 140Node: Lex and Posix135650 141Node: Memory Management143034 142Ref: memory-management143180 143Node: The Default Memory Management143408 144Ref: The Default Memory Management-Footnote-1147217 145Node: Overriding The Default Memory Management147370 146Ref: Overriding The Default Memory Management-Footnote-1149769 147Node: A Note About yytext And Memory149933 148Node: Serialized Tables151166 149Ref: serialization151310 150Node: Creating Serialized Tables152075 151Node: Loading and Unloading Serialized Tables153685 152Node: Tables File Format155453 153Node: Diagnostics162468 154Node: Limitations165879 155Node: Bibliography167828 156Node: FAQ168501 157Node: When was flex born?172741 158Node: How do I expand backslash-escape sequences in C-style quoted strings?173118 159Node: Why do flex scanners call fileno if it is not ANSI compatible?174422 160Node: Does flex support recursive pattern definitions?175217 161Node: How do I skip huge chunks of input (tens of megabytes) while using flex?176064 162Node: Flex is not matching my patterns in the same order that I defined them.176531 163Node: My actions are executing out of order or sometimes not at all.178277 164Node: How can I have multiple input sources feed into the same scanner at the same time?179052 165Node: Can I build nested parsers that work with the same input file?181040 166Node: How can I match text only at the end of a file?182046 167Node: How can I make REJECT cascade across start condition boundaries?182851 168Node: Why cant I use fast or full tables with interactive mode?183866 169Node: How much faster is -F or -f than -C?185124 170Node: If I have a simple grammar cant I just parse it with flex?185436 171Node: Why doesn't yyrestart() set the start state back to INITIAL?185917 172Node: How can I match C-style comments?186544 173Node: The period isn't working the way I expected.187358 174Node: Can I get the flex manual in another format?188605 175Node: Does there exist a "faster" NDFA->DFA algorithm?189094 176Node: How does flex compile the DFA so quickly?189604 177Node: How can I use more than 8192 rules?190571 178Node: How do I abandon a file in the middle of a scan and switch to a new file?191983 179Node: How do I execute code only during initialization (only before the first scan)?192536 180Node: How do I execute code at termination?193314 181Node: Where else can I find help?193640 182Node: Can I include comments in the "rules" section of the file?194013 183Node: I get an error about undefined yywrap().194392 184Node: How can I change the matching pattern at run time?194869 185Node: How can I expand macros in the input?195231 186Node: How can I build a two-pass scanner?196264 187Node: How do I match any string not matched in the preceding rules?197180 188Node: I am trying to port code from AT&T lex that uses yysptr and yysbuf.198090 189Node: Is there a way to make flex treat NULL like a regular character?198885 190Node: Whenever flex can not match the input it says "flex scanner jammed".199406 191Node: Why doesn't flex have non-greedy operators like perl does?200050 192Node: Memory leak - 16386 bytes allocated by malloc.201403 193Ref: faq-memory-leak201701 194Node: How do I track the byte offset for lseek()?202669 195Node: How do I use my own I/O classes in a C++ scanner?204180 196Node: How do I skip as many chars as possible?205023 197Node: deleteme00206100 198Node: Are certain equivalent patterns faster than others?206541 199Node: Is backing up a big deal?209960 200Node: Can I fake multi-byte character support?211867 201Node: deleteme01213309 202Node: Can you discuss some flex internals?214419 203Node: unput() messes up yy_at_bol216664 204Node: The | operator is not doing what I want217767 205Node: Why can't flex understand this variable trailing context pattern?219314 206Node: The ^ operator isn't working220564 207Node: Trailing context is getting confused with trailing optional patterns221800 208Node: Is flex GNU or not?223044 209Node: ERASEME53224718 210Node: I need to scan if-then-else blocks and while loops225489 211Node: ERASEME55226689 212Node: ERASEME56227788 213Node: ERASEME57229147 214Node: Is there a repository for flex scanners?230146 215Node: How can I conditionally compile or preprocess my flex input file?230461 216Node: Where can I find grammars for lex and yacc?230934 217Node: I get an end-of-buffer message for each character scanned.231281 218Node: unnamed-faq-62231876 219Node: unnamed-faq-63232895 220Node: unnamed-faq-64234193 221Node: unnamed-faq-65235160 222Node: unnamed-faq-66235947 223Node: unnamed-faq-67237063 224Node: unnamed-faq-68238051 225Node: unnamed-faq-69239194 226Node: unnamed-faq-70239908 227Node: unnamed-faq-71240670 228Node: unnamed-faq-72241880 229Node: unnamed-faq-73242924 230Node: unnamed-faq-74243849 231Node: unnamed-faq-75244795 232Node: unnamed-faq-76245928 233Node: unnamed-faq-77246635 234Node: unnamed-faq-78247529 235Node: unnamed-faq-79248528 236Node: unnamed-faq-80250229 237Node: unnamed-faq-81251548 238Node: unnamed-faq-82254349 239Node: unnamed-faq-83255307 240Node: unnamed-faq-84257088 241Node: unnamed-faq-85258192 242Node: unnamed-faq-86259200 243Node: unnamed-faq-87260139 244Node: unnamed-faq-88260786 245Node: unnamed-faq-90261618 246Node: unnamed-faq-91262882 247Node: unnamed-faq-92265311 248Node: unnamed-faq-93265811 249Node: unnamed-faq-94266739 250Node: unnamed-faq-95268152 251Node: unnamed-faq-96269671 252Node: unnamed-faq-97270431 253Node: unnamed-faq-98271099 254Node: unnamed-faq-99271765 255Node: unnamed-faq-100272695 256Node: unnamed-faq-101273406 257Node: What is the difference between YYLEX_PARAM and YY_DECL?274220 258Node: Why do I get "conflicting types for yylex" error?274742 259Node: How do I access the values set in a Flex action from within a Bison action?275272 260Node: Appendices275703 261Node: Makefiles and Flex275912 262Ref: Makefiles and Flex-Footnote-1279112 263Ref: Makefiles and Flex-Footnote-2279229 264Ref: Makefiles and Flex-Footnote-3279415 265Node: Bison Bridge279466 266Ref: Bison Bridge-Footnote-1282135 267Node: M4 Dependency282327 268Ref: M4 Dependency-Footnote-1283732 269Node: Common Patterns283867 270Node: Numbers284158 271Node: Identifiers285135 272Node: Quoted Constructs285964 273Node: Addresses287017 274Node: Indices287683 275Node: Concept Index287921 276Node: Index of Functions and Macros313204 277Node: Index of Variables318100 278Node: Index of Data Types319766 279Node: Index of Hooks320654 280Node: Index of Scanner Options321222 281 282End Tag Table 283