1This is flex.info, produced by makeinfo version 6.1 from flex.texi. 2 3The flex manual is placed under the same licensing conditions as the 4rest of flex: 5 6 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2012 The Flex 7Project. 8 9 Copyright (C) 1990, 1997 The Regents of the University of California. 10All rights reserved. 11 12 This code is derived from software contributed to Berkeley by Vern 13Paxson. 14 15 The United States Government has rights in this work pursuant to 16contract no. DE-AC03-76SF00098 between the United States Department of 17Energy and the University of California. 18 19 Redistribution and use in source and binary forms, with or without 20modification, are permitted provided that the following conditions are 21met: 22 23 1. Redistributions of source code must retain the above copyright 24 notice, this list of conditions and the following disclaimer. 25 26 2. Redistributions in binary form must reproduce the above copyright 27 notice, this list of conditions and the following disclaimer in the 28 documentation and/or other materials provided with the 29 distribution. 30 31 Neither the name of the University nor the names of its contributors 32may be used to endorse or promote products derived from this software 33without specific prior written permission. 34 35 THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED 36WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 37MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 38INFO-DIR-SECTION Programming 39START-INFO-DIR-ENTRY 40* flex: (flex). Fast lexical analyzer generator (lex replacement). 41END-INFO-DIR-ENTRY 42 43 44Indirect: 45flex.info-1: 1622 46flex.info-2: 318745 47 48Tag Table: 49(Indirect) 50Node: Top1622 51Node: Copyright9414 52Node: Reporting Bugs10933 53Node: Introduction11189 54Node: Simple Examples12018 55Node: Format15304 56Node: Definitions Section15759 57Ref: Definitions Section-Footnote-118017 58Node: Rules Section18085 59Node: User Code Section19243 60Node: Comments in the Input19681 61Node: Patterns21051 62Ref: case and character ranges27883 63Node: Matching31886 64Node: Actions35171 65Node: Generated Scanner44133 66Node: Start Conditions49136 67Node: Multiple Input Buffers59678 68Ref: Scanning Strings66221 69Node: EOF67850 70Node: Misc Macros69436 71Node: User Values72290 72Node: Yacc74615 73Node: Scanner Options75510 74Node: Options for Specifying Filenames78299 75Ref: option-header78525 76Ref: option-outfile79239 77Ref: option-stdout79564 78Node: Options Affecting Scanner Behavior80547 79Ref: option-case-insensitive80788 80Ref: option-lex-compat81221 81Ref: option-batch81753 82Ref: option-interactive82272 83Ref: option-7bit83626 84Ref: option-8bit84930 85Ref: option-default85342 86Ref: option-always-interactive85406 87Ref: option-posix86010 88Ref: option-stack87157 89Ref: option-stdinit87265 90Ref: option-yylineno87744 91Ref: option-yywrap88187 92Node: Code-Level And API Options88454 93Ref: option-ansi-definitions88681 94Ref: option-ansi-prototypes88756 95Ref: option-bison-bridge88829 96Ref: option-bison-locations89170 97Ref: option-noline89430 98Ref: option-reentrant89944 99Ref: option-c++90556 100Ref: option-array90682 101Ref: option-pointer90780 102Ref: option-prefix90907 103Ref: option-main92435 104Ref: option-nounistd92619 105Ref: option-yyclass93130 106Node: Options for Scanner Speed and Size93614 107Ref: option-align94164 108Ref: option-ecs94666 109Ref: option-meta-ecs95705 110Ref: option-read96193 111Ref: option-full98076 112Ref: option-fast98271 113Node: Debugging Options99195 114Ref: option-backup99382 115Ref: option-debug99927 116Ref: option-perf-report100649 117Ref: option-nodefault101275 118Ref: option-trace101593 119Ref: option-nowarn101884 120Ref: option-verbose101952 121Ref: option-warn102381 122Node: Miscellaneous Options102600 123Node: Performance103056 124Node: Cxx113303 125Node: Reentrant121395 126Node: Reentrant Uses122129 127Node: Reentrant Overview123691 128Node: Reentrant Example124491 129Node: Reentrant Detail125264 130Node: Specify Reentrant125768 131Node: Extra Reentrant Argument126418 132Node: Global Replacement127670 133Node: Init and Destroy Functions128905 134Node: Accessor Methods131426 135Node: Extra Data132773 136Node: About yyscan_t135040 137Node: Reentrant Functions135437 138Ref: bison-functions136921 139Node: Lex and Posix137660 140Node: Memory Management145007 141Ref: memory-management145153 142Node: The Default Memory Management145387 143Ref: The Default Memory Management-Footnote-1149207 144Node: Overriding The Default Memory Management149360 145Ref: Overriding The Default Memory Management-Footnote-1151774 146Node: A Note About yytext And Memory151938 147Node: Serialized Tables153178 148Ref: serialization153322 149Node: Creating Serialized Tables154102 150Node: Loading and Unloading Serialized Tables155717 151Node: Tables File Format157490 152Node: Diagnostics164515 153Node: Limitations167924 154Node: Bibliography169872 155Node: FAQ170542 156Node: When was flex born?175705 157Node: How do I expand backslash-escape sequences in C-style quoted strings?176082 158Node: Why do flex scanners call fileno if it is not ANSI compatible?177385 159Node: Does flex support recursive pattern definitions?178182 160Node: How do I skip huge chunks of input (tens of megabytes) while using flex?179029 161Node: Flex is not matching my patterns in the same order that I defined them.179496 162Node: My actions are executing out of order or sometimes not at all.181242 163Node: How can I have multiple input sources feed into the same scanner at the same time?182015 164Node: Can I build nested parsers that work with the same input file?184000 165Node: How can I match text only at the end of a file?185007 166Node: How can I make REJECT cascade across start condition boundaries?185811 167Node: Why cant I use fast or full tables with interactive mode?186825 168Node: How much faster is -F or -f than -C?188082 169Node: If I have a simple grammar cant I just parse it with flex?188394 170Node: Why doesn't yyrestart() set the start state back to INITIAL?188876 171Node: How can I match C-style comments?189503 172Node: The period isn't working the way I expected.190313 173Node: Can I get the flex manual in another format?191558 174Node: Does there exist a "faster" NDFA->DFA algorithm?192048 175Node: How does flex compile the DFA so quickly?192558 176Node: How can I use more than 8192 rules?193524 177Node: How do I abandon a file in the middle of a scan and switch to a new file?194934 178Node: How do I execute code only during initialization (only before the first scan)?195488 179Node: How do I execute code at termination?196265 180Node: Where else can I find help?196591 181Node: Can I include comments in the "rules" section of the file?196965 182Node: I get an error about undefined yywrap().197345 183Node: How can I change the matching pattern at run time?197821 184Node: How can I expand macros in the input?198183 185Node: How can I build a two-pass scanner?199215 186Node: How do I match any string not matched in the preceding rules?200133 187Node: I am trying to port code from AT&T lex that uses yysptr and yysbuf.201042 188Node: Is there a way to make flex treat NULL like a regular character?201837 189Node: Whenever flex can not match the input it says "flex scanner jammed".202357 190Node: Why doesn't flex have non-greedy operators like perl does?203000 191Node: Memory leak - 16386 bytes allocated by malloc.204353 192Ref: faq-memory-leak204651 193Node: How do I track the byte offset for lseek()?205622 194Node: How do I use my own I/O classes in a C++ scanner?207131 195Node: How do I skip as many chars as possible?207974 196Node: deleteme00209049 197Node: Are certain equivalent patterns faster than others?209489 198Node: Is backing up a big deal?212907 199Node: Can I fake multi-byte character support?214813 200Node: deleteme01216254 201Node: Can you discuss some flex internals?217363 202Node: unput() messes up yy_at_bol219607 203Node: The | operator is not doing what I want220709 204Node: Why can't flex understand this variable trailing context pattern?222255 205Node: The ^ operator isn't working223504 206Node: Trailing context is getting confused with trailing optional patterns224739 207Node: Is flex GNU or not?225982 208Node: ERASEME53227655 209Node: I need to scan if-then-else blocks and while loops228425 210Node: ERASEME55229624 211Node: ERASEME56230722 212Node: ERASEME57232080 213Node: Is there a repository for flex scanners?233078 214Node: How can I conditionally compile or preprocess my flex input file?233394 215Node: Where can I find grammars for lex and yacc?233867 216Node: I get an end-of-buffer message for each character scanned.234214 217Node: unnamed-faq-62234809 218Node: unnamed-faq-63235827 219Node: unnamed-faq-64237124 220Node: unnamed-faq-65238090 221Node: unnamed-faq-66238876 222Node: unnamed-faq-67239991 223Node: unnamed-faq-68240978 224Node: unnamed-faq-69242120 225Node: unnamed-faq-70242833 226Node: unnamed-faq-71243594 227Node: unnamed-faq-72244803 228Node: unnamed-faq-73245846 229Node: unnamed-faq-74246770 230Node: unnamed-faq-75247715 231Node: unnamed-faq-76248847 232Node: unnamed-faq-77249553 233Node: unnamed-faq-78250446 234Node: unnamed-faq-79251444 235Node: unnamed-faq-80253144 236Node: unnamed-faq-81254462 237Node: unnamed-faq-82257262 238Node: unnamed-faq-83258219 239Node: unnamed-faq-84259999 240Node: unnamed-faq-85261102 241Node: unnamed-faq-86262109 242Node: unnamed-faq-87263047 243Node: unnamed-faq-88263693 244Node: unnamed-faq-90264524 245Node: unnamed-faq-91265787 246Node: unnamed-faq-92268215 247Node: unnamed-faq-93268714 248Node: unnamed-faq-94269641 249Node: unnamed-faq-95271053 250Node: unnamed-faq-96272571 251Node: unnamed-faq-97273330 252Node: unnamed-faq-98273997 253Node: unnamed-faq-99274662 254Node: unnamed-faq-100275591 255Node: unnamed-faq-101276301 256Node: What is the difference between YYLEX_PARAM and YY_DECL?277114 257Node: Why do I get "conflicting types for yylex" error?277638 258Node: How do I access the values set in a Flex action from within a Bison action?278168 259Node: Appendices278597 260Node: Makefiles and Flex278862 261Ref: Makefiles and Flex-Footnote-1282064 262Ref: Makefiles and Flex-Footnote-2282181 263Ref: Makefiles and Flex-Footnote-3282368 264Node: Bison Bridge282419 265Ref: Bison Bridge-Footnote-1285086 266Node: M4 Dependency285278 267Ref: M4 Dependency-Footnote-1286692 268Node: Common Patterns286828 269Node: Numbers287151 270Node: Identifiers288127 271Node: Quoted Constructs288954 272Node: Addresses290008 273Node: Indices291320 274Node: Concept Index291612 275Node: Index of Functions and Macros318745 276Node: Index of Variables323714 277Node: Index of Data Types325380 278Node: Index of Hooks326268 279Node: Index of Scanner Options326836 280 281End Tag Table 282