1This is flex.info, produced by makeinfo version 4.13 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, 2012 The 12Flex Project. 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: 1627 47flex.info-2: 288420 48 49Tag Table: 50(Indirect) 51Node: Top1627 52Node: Copyright7695 53Node: Reporting Bugs9214 54Node: Introduction9519 55Node: Simple Examples10347 56Node: Format13634 57Node: Definitions Section14047 58Ref: Definitions Section-Footnote-116305 59Node: Rules Section16373 60Node: User Code Section17530 61Node: Comments in the Input17968 62Node: Patterns19335 63Ref: case and character ranges26159 64Node: Matching30170 65Node: Actions33454 66Node: Generated Scanner42423 67Node: Start Conditions47438 68Node: Multiple Input Buffers57975 69Ref: Scanning Strings64511 70Node: EOF66141 71Node: Misc Macros67727 72Node: User Values70579 73Node: Yacc72910 74Node: Scanner Options73805 75Node: Options for Specifying Filenames76561 76Ref: option-header76787 77Ref: option-outfile77499 78Ref: option-stdout77824 79Node: Options Affecting Scanner Behavior78806 80Ref: option-case-insensitive79047 81Ref: option-lex-compat79480 82Ref: option-batch80012 83Ref: option-interactive80536 84Ref: option-7bit81890 85Ref: option-8bit83194 86Ref: option-default83606 87Ref: option-always-interactive83670 88Ref: option-posix84274 89Ref: option-stack85421 90Ref: option-stdinit85529 91Ref: option-yylineno86007 92Ref: option-yywrap86450 93Node: Code-Level And API Options86718 94Ref: option-ansi-definitions86945 95Ref: option-ansi-prototypes87197 96Ref: option-bison-bridge87444 97Ref: option-bison-locations87783 98Ref: option-noline88043 99Ref: option-reentrant88557 100Ref: option-c++89168 101Ref: option-array89294 102Ref: option-pointer89392 103Ref: option-prefix89520 104Ref: option-main91048 105Ref: option-nounistd91232 106Ref: option-yyclass91740 107Node: Options for Scanner Speed and Size92226 108Ref: option-align92775 109Ref: option-ecs93276 110Ref: option-meta-ecs94312 111Ref: option-read94799 112Ref: option-full96681 113Ref: option-fast96876 114Node: Debugging Options97801 115Ref: option-backup97988 116Ref: option-debug98533 117Ref: option-perf-report99255 118Ref: option-nodefault99881 119Ref: option-trace100199 120Ref: option-nowarn100490 121Ref: option-verbose100558 122Ref: option-warn100987 123Node: Miscellaneous Options101206 124Node: Performance101663 125Node: Cxx111905 126Node: Reentrant119507 127Node: Reentrant Uses120184 128Node: Reentrant Overview121745 129Node: Reentrant Example122544 130Node: Reentrant Detail123318 131Node: Specify Reentrant123751 132Node: Extra Reentrant Argument124398 133Node: Global Replacement125649 134Node: Init and Destroy Functions126877 135Node: Accessor Methods129394 136Node: Extra Data130736 137Node: About yyscan_t133001 138Node: Reentrant Functions133396 139Ref: bison-functions134878 140Node: Lex and Posix135617 141Node: Memory Management142988 142Ref: memory-management143134 143Node: The Default Memory Management143362 144Ref: The Default Memory Management-Footnote-1147168 145Node: Overriding The Default Memory Management147321 146Ref: Overriding The Default Memory Management-Footnote-1149718 147Node: A Note About yytext And Memory149882 148Node: Serialized Tables151115 149Ref: serialization151259 150Node: Creating Serialized Tables152024 151Node: Loading and Unloading Serialized Tables153632 152Node: Tables File Format155400 153Node: Diagnostics162414 154Node: Limitations165823 155Node: Bibliography167771 156Node: FAQ168444 157Node: When was flex born?172684 158Node: How do I expand backslash-escape sequences in C-style quoted strings?173061 159Node: Why do flex scanners call fileno if it is not ANSI compatible?174365 160Node: Does flex support recursive pattern definitions?175160 161Node: How do I skip huge chunks of input (tens of megabytes) while using flex?176006 162Node: Flex is not matching my patterns in the same order that I defined them.176473 163Node: My actions are executing out of order or sometimes not at all.178218 164Node: How can I have multiple input sources feed into the same scanner at the same time?178991 165Node: Can I build nested parsers that work with the same input file?180979 166Node: How can I match text only at the end of a file?181985 167Node: How can I make REJECT cascade across start condition boundaries?182789 168Node: Why cant I use fast or full tables with interactive mode?183803 169Node: How much faster is -F or -f than -C?185061 170Node: If I have a simple grammar cant I just parse it with flex?185373 171Node: Why doesn't yyrestart() set the start state back to INITIAL?185854 172Node: How can I match C-style comments?186481 173Node: The period isn't working the way I expected.187291 174Node: Can I get the flex manual in another format?188538 175Node: Does there exist a "faster" NDFA->DFA algorithm?189027 176Node: How does flex compile the DFA so quickly?189537 177Node: How can I use more than 8192 rules?190504 178Node: How do I abandon a file in the middle of a scan and switch to a new file?191914 179Node: How do I execute code only during initialization (only before the first scan)?192467 180Node: How do I execute code at termination?193244 181Node: Where else can I find help?193570 182Node: Can I include comments in the "rules" section of the file?193943 183Node: I get an error about undefined yywrap().194322 184Node: How can I change the matching pattern at run time?194798 185Node: How can I expand macros in the input?195160 186Node: How can I build a two-pass scanner?196192 187Node: How do I match any string not matched in the preceding rules?197108 188Node: I am trying to port code from AT&T lex that uses yysptr and yysbuf.198017 189Node: Is there a way to make flex treat NULL like a regular character?198812 190Node: Whenever flex can not match the input it says "flex scanner jammed".199333 191Node: Why doesn't flex have non-greedy operators like perl does?199976 192Node: Memory leak - 16386 bytes allocated by malloc.201329 193Ref: faq-memory-leak201627 194Node: How do I track the byte offset for lseek()?202594 195Node: How do I use my own I/O classes in a C++ scanner?204103 196Node: How do I skip as many chars as possible?204946 197Node: deleteme00206020 198Node: Are certain equivalent patterns faster than others?206460 199Node: Is backing up a big deal?209878 200Node: Can I fake multi-byte character support?211784 201Node: deleteme01213225 202Node: Can you discuss some flex internals?214334 203Node: unput() messes up yy_at_bol216578 204Node: The | operator is not doing what I want217680 205Node: Why can't flex understand this variable trailing context pattern?219226 206Node: The ^ operator isn't working220475 207Node: Trailing context is getting confused with trailing optional patterns221710 208Node: Is flex GNU or not?222953 209Node: ERASEME53224626 210Node: I need to scan if-then-else blocks and while loops225396 211Node: ERASEME55226595 212Node: ERASEME56227693 213Node: ERASEME57229051 214Node: Is there a repository for flex scanners?230049 215Node: How can I conditionally compile or preprocess my flex input file?230364 216Node: Where can I find grammars for lex and yacc?230837 217Node: I get an end-of-buffer message for each character scanned.231184 218Node: unnamed-faq-62231779 219Node: unnamed-faq-63232797 220Node: unnamed-faq-64234094 221Node: unnamed-faq-65235060 222Node: unnamed-faq-66235846 223Node: unnamed-faq-67236961 224Node: unnamed-faq-68237948 225Node: unnamed-faq-69239090 226Node: unnamed-faq-70239803 227Node: unnamed-faq-71240564 228Node: unnamed-faq-72241773 229Node: unnamed-faq-73242816 230Node: unnamed-faq-74243740 231Node: unnamed-faq-75244685 232Node: unnamed-faq-76245817 233Node: unnamed-faq-77246523 234Node: unnamed-faq-78247416 235Node: unnamed-faq-79248414 236Node: unnamed-faq-80250114 237Node: unnamed-faq-81251432 238Node: unnamed-faq-82254232 239Node: unnamed-faq-83255189 240Node: unnamed-faq-84256969 241Node: unnamed-faq-85258072 242Node: unnamed-faq-86259079 243Node: unnamed-faq-87260017 244Node: unnamed-faq-88260663 245Node: unnamed-faq-90261494 246Node: unnamed-faq-91262757 247Node: unnamed-faq-92265185 248Node: unnamed-faq-93265684 249Node: unnamed-faq-94266611 250Node: unnamed-faq-95268023 251Node: unnamed-faq-96269541 252Node: unnamed-faq-97270300 253Node: unnamed-faq-98270967 254Node: unnamed-faq-99271632 255Node: unnamed-faq-100272561 256Node: unnamed-faq-101273271 257Node: What is the difference between YYLEX_PARAM and YY_DECL?274084 258Node: Why do I get "conflicting types for yylex" error?274605 259Node: How do I access the values set in a Flex action from within a Bison action?275135 260Node: Appendices275566 261Node: Makefiles and Flex275775 262Ref: Makefiles and Flex-Footnote-1278971 263Ref: Makefiles and Flex-Footnote-2279088 264Ref: Makefiles and Flex-Footnote-3279274 265Node: Bison Bridge279325 266Ref: Bison Bridge-Footnote-1281990 267Node: M4 Dependency282182 268Ref: M4 Dependency-Footnote-1283587 269Node: Common Patterns283722 270Node: Numbers284013 271Node: Identifiers284990 272Node: Quoted Constructs285817 273Node: Addresses286869 274Node: Indices288182 275Node: Concept Index288420 276Node: Index of Functions and Macros313703 277Node: Index of Variables318599 278Node: Index of Data Types320265 279Node: Index of Hooks321153 280Node: Index of Scanner Options321721 281 282End Tag Table 283