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: 318748 47 48Tag Table: 49(Indirect) 50Node: Top1622 51Node: Copyright9419 52Node: Reporting Bugs10938 53Node: Introduction11194 54Node: Simple Examples12023 55Node: Format15309 56Node: Definitions Section15764 57Ref: Definitions Section-Footnote-118022 58Node: Rules Section18090 59Node: User Code Section19248 60Node: Comments in the Input19686 61Node: Patterns21056 62Ref: case and character ranges27888 63Node: Matching31891 64Node: Actions35176 65Node: Generated Scanner44138 66Node: Start Conditions49141 67Node: Multiple Input Buffers59683 68Ref: Scanning Strings66224 69Node: EOF67853 70Node: Misc Macros69439 71Node: User Values72293 72Node: Yacc74618 73Node: Scanner Options75513 74Node: Options for Specifying Filenames78302 75Ref: option-header78528 76Ref: option-outfile79242 77Ref: option-stdout79567 78Node: Options Affecting Scanner Behavior80550 79Ref: option-case-insensitive80791 80Ref: option-lex-compat81224 81Ref: option-batch81756 82Ref: option-interactive82275 83Ref: option-7bit83629 84Ref: option-8bit84933 85Ref: option-default85345 86Ref: option-always-interactive85409 87Ref: option-posix86013 88Ref: option-stack87160 89Ref: option-stdinit87268 90Ref: option-yylineno87747 91Ref: option-yywrap88190 92Node: Code-Level And API Options88457 93Ref: option-ansi-definitions88684 94Ref: option-ansi-prototypes88759 95Ref: option-bison-bridge88832 96Ref: option-bison-locations89173 97Ref: option-noline89433 98Ref: option-reentrant89947 99Ref: option-c++90559 100Ref: option-array90685 101Ref: option-pointer90783 102Ref: option-prefix90910 103Ref: option-main92438 104Ref: option-nounistd92622 105Ref: option-yyclass93133 106Node: Options for Scanner Speed and Size93617 107Ref: option-align94167 108Ref: option-ecs94669 109Ref: option-meta-ecs95708 110Ref: option-read96196 111Ref: option-full98079 112Ref: option-fast98274 113Node: Debugging Options99198 114Ref: option-backup99385 115Ref: option-debug99930 116Ref: option-perf-report100652 117Ref: option-nodefault101278 118Ref: option-trace101596 119Ref: option-nowarn101887 120Ref: option-verbose101955 121Ref: option-warn102384 122Node: Miscellaneous Options102603 123Node: Performance103059 124Node: Cxx113306 125Node: Reentrant121398 126Node: Reentrant Uses122132 127Node: Reentrant Overview123694 128Node: Reentrant Example124494 129Node: Reentrant Detail125267 130Node: Specify Reentrant125771 131Node: Extra Reentrant Argument126421 132Node: Global Replacement127673 133Node: Init and Destroy Functions128908 134Node: Accessor Methods131429 135Node: Extra Data132776 136Node: About yyscan_t135043 137Node: Reentrant Functions135440 138Ref: bison-functions136924 139Node: Lex and Posix137663 140Node: Memory Management145010 141Ref: memory-management145156 142Node: The Default Memory Management145390 143Ref: The Default Memory Management-Footnote-1149210 144Node: Overriding The Default Memory Management149363 145Ref: Overriding The Default Memory Management-Footnote-1151777 146Node: A Note About yytext And Memory151941 147Node: Serialized Tables153181 148Ref: serialization153325 149Node: Creating Serialized Tables154105 150Node: Loading and Unloading Serialized Tables155720 151Node: Tables File Format157493 152Node: Diagnostics164518 153Node: Limitations167927 154Node: Bibliography169875 155Node: FAQ170545 156Node: When was flex born?175708 157Node: How do I expand backslash-escape sequences in C-style quoted strings?176085 158Node: Why do flex scanners call fileno if it is not ANSI compatible?177388 159Node: Does flex support recursive pattern definitions?178185 160Node: How do I skip huge chunks of input (tens of megabytes) while using flex?179032 161Node: Flex is not matching my patterns in the same order that I defined them.179499 162Node: My actions are executing out of order or sometimes not at all.181245 163Node: How can I have multiple input sources feed into the same scanner at the same time?182018 164Node: Can I build nested parsers that work with the same input file?184003 165Node: How can I match text only at the end of a file?185010 166Node: How can I make REJECT cascade across start condition boundaries?185814 167Node: Why cant I use fast or full tables with interactive mode?186828 168Node: How much faster is -F or -f than -C?188085 169Node: If I have a simple grammar cant I just parse it with flex?188397 170Node: Why doesn't yyrestart() set the start state back to INITIAL?188879 171Node: How can I match C-style comments?189506 172Node: The period isn't working the way I expected.190316 173Node: Can I get the flex manual in another format?191561 174Node: Does there exist a "faster" NDFA->DFA algorithm?192051 175Node: How does flex compile the DFA so quickly?192561 176Node: How can I use more than 8192 rules?193527 177Node: How do I abandon a file in the middle of a scan and switch to a new file?194937 178Node: How do I execute code only during initialization (only before the first scan)?195491 179Node: How do I execute code at termination?196268 180Node: Where else can I find help?196594 181Node: Can I include comments in the "rules" section of the file?196968 182Node: I get an error about undefined yywrap().197348 183Node: How can I change the matching pattern at run time?197824 184Node: How can I expand macros in the input?198186 185Node: How can I build a two-pass scanner?199218 186Node: How do I match any string not matched in the preceding rules?200136 187Node: I am trying to port code from AT&T lex that uses yysptr and yysbuf.201045 188Node: Is there a way to make flex treat NULL like a regular character?201840 189Node: Whenever flex can not match the input it says "flex scanner jammed".202360 190Node: Why doesn't flex have non-greedy operators like perl does?203003 191Node: Memory leak - 16386 bytes allocated by malloc.204356 192Ref: faq-memory-leak204654 193Node: How do I track the byte offset for lseek()?205625 194Node: How do I use my own I/O classes in a C++ scanner?207134 195Node: How do I skip as many chars as possible?207977 196Node: deleteme00209052 197Node: Are certain equivalent patterns faster than others?209492 198Node: Is backing up a big deal?212910 199Node: Can I fake multi-byte character support?214816 200Node: deleteme01216257 201Node: Can you discuss some flex internals?217366 202Node: unput() messes up yy_at_bol219610 203Node: The | operator is not doing what I want220712 204Node: Why can't flex understand this variable trailing context pattern?222258 205Node: The ^ operator isn't working223507 206Node: Trailing context is getting confused with trailing optional patterns224742 207Node: Is flex GNU or not?225985 208Node: ERASEME53227658 209Node: I need to scan if-then-else blocks and while loops228428 210Node: ERASEME55229627 211Node: ERASEME56230725 212Node: ERASEME57232083 213Node: Is there a repository for flex scanners?233081 214Node: How can I conditionally compile or preprocess my flex input file?233397 215Node: Where can I find grammars for lex and yacc?233870 216Node: I get an end-of-buffer message for each character scanned.234217 217Node: unnamed-faq-62234812 218Node: unnamed-faq-63235830 219Node: unnamed-faq-64237127 220Node: unnamed-faq-65238093 221Node: unnamed-faq-66238879 222Node: unnamed-faq-67239994 223Node: unnamed-faq-68240981 224Node: unnamed-faq-69242123 225Node: unnamed-faq-70242836 226Node: unnamed-faq-71243597 227Node: unnamed-faq-72244806 228Node: unnamed-faq-73245849 229Node: unnamed-faq-74246773 230Node: unnamed-faq-75247718 231Node: unnamed-faq-76248850 232Node: unnamed-faq-77249556 233Node: unnamed-faq-78250449 234Node: unnamed-faq-79251447 235Node: unnamed-faq-80253147 236Node: unnamed-faq-81254465 237Node: unnamed-faq-82257265 238Node: unnamed-faq-83258222 239Node: unnamed-faq-84260002 240Node: unnamed-faq-85261105 241Node: unnamed-faq-86262112 242Node: unnamed-faq-87263050 243Node: unnamed-faq-88263696 244Node: unnamed-faq-90264527 245Node: unnamed-faq-91265790 246Node: unnamed-faq-92268218 247Node: unnamed-faq-93268717 248Node: unnamed-faq-94269644 249Node: unnamed-faq-95271056 250Node: unnamed-faq-96272574 251Node: unnamed-faq-97273333 252Node: unnamed-faq-98274000 253Node: unnamed-faq-99274665 254Node: unnamed-faq-100275594 255Node: unnamed-faq-101276304 256Node: What is the difference between YYLEX_PARAM and YY_DECL?277117 257Node: Why do I get "conflicting types for yylex" error?277641 258Node: How do I access the values set in a Flex action from within a Bison action?278171 259Node: Appendices278600 260Node: Makefiles and Flex278865 261Ref: Makefiles and Flex-Footnote-1282067 262Ref: Makefiles and Flex-Footnote-2282184 263Ref: Makefiles and Flex-Footnote-3282371 264Node: Bison Bridge282422 265Ref: Bison Bridge-Footnote-1285089 266Node: M4 Dependency285281 267Ref: M4 Dependency-Footnote-1286695 268Node: Common Patterns286831 269Node: Numbers287154 270Node: Identifiers288130 271Node: Quoted Constructs288957 272Node: Addresses290011 273Node: Indices291323 274Node: Concept Index291615 275Node: Index of Functions and Macros318748 276Node: Index of Variables323717 277Node: Index of Data Types325383 278Node: Index of Hooks326271 279Node: Index of Scanner Options326839 280 281End Tag Table 282