This is flex.info, produced by makeinfo version 6.1 from flex.texi. The flex manual is placed under the same licensing conditions as the rest of flex: Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2012 The Flex Project. Copyright (C) 1990, 1997 The Regents of the University of California. All rights reserved. This code is derived from software contributed to Berkeley by Vern Paxson. The United States Government has rights in this work pursuant to contract no. DE-AC03-76SF00098 between the United States Department of Energy and the University of California. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. INFO-DIR-SECTION Programming START-INFO-DIR-ENTRY * flex: (flex). Fast lexical analyzer generator (lex replacement). END-INFO-DIR-ENTRY  Indirect: flex.info-1: 1622 flex.info-2: 318745  Tag Table: (Indirect) Node: Top1622 Node: Copyright9414 Node: Reporting Bugs10933 Node: Introduction11189 Node: Simple Examples12018 Node: Format15304 Node: Definitions Section15759 Ref: Definitions Section-Footnote-118017 Node: Rules Section18085 Node: User Code Section19243 Node: Comments in the Input19681 Node: Patterns21051 Ref: case and character ranges27883 Node: Matching31886 Node: Actions35171 Node: Generated Scanner44133 Node: Start Conditions49136 Node: Multiple Input Buffers59678 Ref: Scanning Strings66221 Node: EOF67850 Node: Misc Macros69436 Node: User Values72290 Node: Yacc74615 Node: Scanner Options75510 Node: Options for Specifying Filenames78299 Ref: option-header78525 Ref: option-outfile79239 Ref: option-stdout79564 Node: Options Affecting Scanner Behavior80547 Ref: option-case-insensitive80788 Ref: option-lex-compat81221 Ref: option-batch81753 Ref: option-interactive82272 Ref: option-7bit83626 Ref: option-8bit84930 Ref: option-default85342 Ref: option-always-interactive85406 Ref: option-posix86010 Ref: option-stack87157 Ref: option-stdinit87265 Ref: option-yylineno87744 Ref: option-yywrap88187 Node: Code-Level And API Options88454 Ref: option-ansi-definitions88681 Ref: option-ansi-prototypes88756 Ref: option-bison-bridge88829 Ref: option-bison-locations89170 Ref: option-noline89430 Ref: option-reentrant89944 Ref: option-c++90556 Ref: option-array90682 Ref: option-pointer90780 Ref: option-prefix90907 Ref: option-main92435 Ref: option-nounistd92619 Ref: option-yyclass93130 Node: Options for Scanner Speed and Size93614 Ref: option-align94164 Ref: option-ecs94666 Ref: option-meta-ecs95705 Ref: option-read96193 Ref: option-full98076 Ref: option-fast98271 Node: Debugging Options99195 Ref: option-backup99382 Ref: option-debug99927 Ref: option-perf-report100649 Ref: option-nodefault101275 Ref: option-trace101593 Ref: option-nowarn101884 Ref: option-verbose101952 Ref: option-warn102381 Node: Miscellaneous Options102600 Node: Performance103056 Node: Cxx113303 Node: Reentrant121395 Node: Reentrant Uses122129 Node: Reentrant Overview123691 Node: Reentrant Example124491 Node: Reentrant Detail125264 Node: Specify Reentrant125768 Node: Extra Reentrant Argument126418 Node: Global Replacement127670 Node: Init and Destroy Functions128905 Node: Accessor Methods131426 Node: Extra Data132773 Node: About yyscan_t135040 Node: Reentrant Functions135437 Ref: bison-functions136921 Node: Lex and Posix137660 Node: Memory Management145007 Ref: memory-management145153 Node: The Default Memory Management145387 Ref: The Default Memory Management-Footnote-1149207 Node: Overriding The Default Memory Management149360 Ref: Overriding The Default Memory Management-Footnote-1151774 Node: A Note About yytext And Memory151938 Node: Serialized Tables153178 Ref: serialization153322 Node: Creating Serialized Tables154102 Node: Loading and Unloading Serialized Tables155717 Node: Tables File Format157490 Node: Diagnostics164515 Node: Limitations167924 Node: Bibliography169872 Node: FAQ170542 Node: When was flex born?175705 Node: How do I expand backslash-escape sequences in C-style quoted strings?176082 Node: Why do flex scanners call fileno if it is not ANSI compatible?177385 Node: Does flex support recursive pattern definitions?178182 Node: How do I skip huge chunks of input (tens of megabytes) while using flex?179029 Node: Flex is not matching my patterns in the same order that I defined them.179496 Node: My actions are executing out of order or sometimes not at all.181242 Node: How can I have multiple input sources feed into the same scanner at the same time?182015 Node: Can I build nested parsers that work with the same input file?184000 Node: How can I match text only at the end of a file?185007 Node: How can I make REJECT cascade across start condition boundaries?185811 Node: Why cant I use fast or full tables with interactive mode?186825 Node: How much faster is -F or -f than -C?188082 Node: If I have a simple grammar cant I just parse it with flex?188394 Node: Why doesn't yyrestart() set the start state back to INITIAL?188876 Node: How can I match C-style comments?189503 Node: The period isn't working the way I expected.190313 Node: Can I get the flex manual in another format?191558 Node: Does there exist a "faster" NDFA->DFA algorithm?192048 Node: How does flex compile the DFA so quickly?192558 Node: How can I use more than 8192 rules?193524 Node: How do I abandon a file in the middle of a scan and switch to a new file?194934 Node: How do I execute code only during initialization (only before the first scan)?195488 Node: How do I execute code at termination?196265 Node: Where else can I find help?196591 Node: Can I include comments in the "rules" section of the file?196965 Node: I get an error about undefined yywrap().197345 Node: How can I change the matching pattern at run time?197821 Node: How can I expand macros in the input?198183 Node: How can I build a two-pass scanner?199215 Node: How do I match any string not matched in the preceding rules?200133 Node: I am trying to port code from AT&T lex that uses yysptr and yysbuf.201042 Node: Is there a way to make flex treat NULL like a regular character?201837 Node: Whenever flex can not match the input it says "flex scanner jammed".202357 Node: Why doesn't flex have non-greedy operators like perl does?203000 Node: Memory leak - 16386 bytes allocated by malloc.204353 Ref: faq-memory-leak204651 Node: How do I track the byte offset for lseek()?205622 Node: How do I use my own I/O classes in a C++ scanner?207131 Node: How do I skip as many chars as possible?207974 Node: deleteme00209049 Node: Are certain equivalent patterns faster than others?209489 Node: Is backing up a big deal?212907 Node: Can I fake multi-byte character support?214813 Node: deleteme01216254 Node: Can you discuss some flex internals?217363 Node: unput() messes up yy_at_bol219607 Node: The | operator is not doing what I want220709 Node: Why can't flex understand this variable trailing context pattern?222255 Node: The ^ operator isn't working223504 Node: Trailing context is getting confused with trailing optional patterns224739 Node: Is flex GNU or not?225982 Node: ERASEME53227655 Node: I need to scan if-then-else blocks and while loops228425 Node: ERASEME55229624 Node: ERASEME56230722 Node: ERASEME57232080 Node: Is there a repository for flex scanners?233078 Node: How can I conditionally compile or preprocess my flex input file?233394 Node: Where can I find grammars for lex and yacc?233867 Node: I get an end-of-buffer message for each character scanned.234214 Node: unnamed-faq-62234809 Node: unnamed-faq-63235827 Node: unnamed-faq-64237124 Node: unnamed-faq-65238090 Node: unnamed-faq-66238876 Node: unnamed-faq-67239991 Node: unnamed-faq-68240978 Node: unnamed-faq-69242120 Node: unnamed-faq-70242833 Node: unnamed-faq-71243594 Node: unnamed-faq-72244803 Node: unnamed-faq-73245846 Node: unnamed-faq-74246770 Node: unnamed-faq-75247715 Node: unnamed-faq-76248847 Node: unnamed-faq-77249553 Node: unnamed-faq-78250446 Node: unnamed-faq-79251444 Node: unnamed-faq-80253144 Node: unnamed-faq-81254462 Node: unnamed-faq-82257262 Node: unnamed-faq-83258219 Node: unnamed-faq-84259999 Node: unnamed-faq-85261102 Node: unnamed-faq-86262109 Node: unnamed-faq-87263047 Node: unnamed-faq-88263693 Node: unnamed-faq-90264524 Node: unnamed-faq-91265787 Node: unnamed-faq-92268215 Node: unnamed-faq-93268714 Node: unnamed-faq-94269641 Node: unnamed-faq-95271053 Node: unnamed-faq-96272571 Node: unnamed-faq-97273330 Node: unnamed-faq-98273997 Node: unnamed-faq-99274662 Node: unnamed-faq-100275591 Node: unnamed-faq-101276301 Node: What is the difference between YYLEX_PARAM and YY_DECL?277114 Node: Why do I get "conflicting types for yylex" error?277638 Node: How do I access the values set in a Flex action from within a Bison action?278168 Node: Appendices278597 Node: Makefiles and Flex278862 Ref: Makefiles and Flex-Footnote-1282064 Ref: Makefiles and Flex-Footnote-2282181 Ref: Makefiles and Flex-Footnote-3282368 Node: Bison Bridge282419 Ref: Bison Bridge-Footnote-1285086 Node: M4 Dependency285278 Ref: M4 Dependency-Footnote-1286692 Node: Common Patterns286828 Node: Numbers287151 Node: Identifiers288127 Node: Quoted Constructs288954 Node: Addresses290008 Node: Indices291320 Node: Concept Index291612 Node: Index of Functions and Macros318745 Node: Index of Variables323714 Node: Index of Data Types325380 Node: Index of Hooks326268 Node: Index of Scanner Options326836  End Tag Table