diff options
Diffstat (limited to 'to.do/flex.rmail')
-rw-r--r-- | to.do/flex.rmail | 4520 |
1 files changed, 0 insertions, 4520 deletions
diff --git a/to.do/flex.rmail b/to.do/flex.rmail deleted file mode 100644 index 6c7f445..0000000 --- a/to.do/flex.rmail +++ /dev/null @@ -1,4520 +0,0 @@ -BABYL OPTIONS: -*- rmail -*- -Version: 5 -Labels: -Note: This is the header of an rmail file. -Note: If you are seeing it in rmail, -Note: it means the file has no messages in it. - -1,, -X-Coding-System: nil -Mail-from: From vern@daffy.ee.lbl.gov Wed Mar 14 04:01:40 2001 -Return-Path: <vern@daffy.ee.lbl.gov> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id EAA09959 - for <wlestes@localhost>; Wed, 14 Mar 2001 04:01:40 -0500 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Wed, 14 Mar 2001 04:01:40 -0500 (EST) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f2E8pme19617 - for <wlestes@hermes.email.uncg.edu>; Wed, 14 Mar 2001 03:51:48 -0500 (EST) -Received: from daffy.ee.lbl.gov (daffy.ee.lbl.gov [131.243.1.31]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id DAA20394 - for <wlestes@uncg.edu>; Wed, 14 Mar 2001 03:51:47 -0500 (EST) -Received: (from vern@localhost) - by daffy.ee.lbl.gov (8.10.0/8.10.0) id f2E8pkM07870; - Wed, 14 Mar 2001 00:51:46 -0800 (PST) -Message-Id: <200103140851.f2E8pkM07870@daffy.ee.lbl.gov> -To: "W. L. Estes" <wlestes@uncg.edu> -Subject: Re: possibly taking over maintenance of flex -In-reply-to: Your message of Tue, 13 Mar 2001 09:00:58 EST. -Date: Wed, 14 Mar 2001 00:51:46 PST -From: Vern Paxson <vern@ee.lbl.gov> - -*** EOOH *** -To: "W. L. Estes" <wlestes@uncg.edu> -Subject: Re: possibly taking over maintenance of flex -In-reply-to: Your message of Tue, 13 Mar 2001 09:00:58 EST. -Date: Wed, 14 Mar 2001 00:51:46 PST -From: Vern Paxson <vern@ee.lbl.gov> - -> probably best to have a trial period up front as you suggest. - -Okay, you can get a copy of the master sources from - - ftp://ftp.ee.lbl.gov/.vp-flex-sources.tar.gz - -The TODO/ subdirectory has the general wish list plus a number of contributed -patches. The faqs/ subdirectory has a bunch of email messages (in MH -folder format, i.e., one message per file, files numbered sequentially) -for commonly asked questions - worth taking a look through to see what -sorts of things people frequently ask about. - -Next messages are various stuff I sent to Dick King. - -Thanks for giving it a try - naturally, by all means let me know when you -have questions ... - - Vern - - -1,, -X-Coding-System: nil -Mail-from: From vern@daffy.ee.lbl.gov Wed Mar 14 04:01:40 2001 -Return-Path: <vern@daffy.ee.lbl.gov> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id EAA09961 - for <wlestes@localhost>; Wed, 14 Mar 2001 04:01:40 -0500 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Wed, 14 Mar 2001 04:01:40 -0500 (EST) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f2E8ppe19633 - for <wlestes@hermes.email.uncg.edu>; Wed, 14 Mar 2001 03:51:51 -0500 (EST) -Received: from daffy.ee.lbl.gov (daffy.ee.lbl.gov [131.243.1.31]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id DAA20402 - for <wlestes@uncg.edu>; Wed, 14 Mar 2001 03:51:50 -0500 (EST) -Received: (from vern@localhost) - by daffy.ee.lbl.gov (8.10.0/8.10.0) id f2E8poV07877; - Wed, 14 Mar 2001 00:51:50 -0800 (PST) -Message-Id: <200103140851.f2E8poV07877@daffy.ee.lbl.gov> -To: wlestes@uncg.edu -Subject: messages sent to Dick King (1 of 2) -Date: Wed, 14 Mar 2001 00:51:49 PST -From: Vern Paxson <vern@ee.lbl.gov> - -*** EOOH *** -To: wlestes@uncg.edu -Subject: messages sent to Dick King (1 of 2) -Date: Wed, 14 Mar 2001 00:51:49 PST -From: Vern Paxson <vern@ee.lbl.gov> - - -------- Forwarded Messages - -Date: Mon, 21 Aug 2000 23:03:54 PDT -From: Vern Paxson <vern> -Subject: Re: Some new Flex maintainer volunteers -To: Dick King <king@reasoning.com> -Cc: bkuhn@ebb.org -In-reply-to: Your message of Tue, 15 Aug 2000 14:03:58 PDT. - -> Vern, i'm ready when you are. - -Okay, I've put the master sources in - - ftp://ftp.ee.lbl.gov/.vp-flex-sources.tar.gz - -The TODO/ subdirectory has a the general wish list plus a number of -contributed patches (per the mail I'll be cc'ing you on regarding reentrant -scanners). The faqs/ subdirectory has a bunch of email messages (in MH -folder format, i.e., one message per file, files numbered sequentially) for -commonly asked questions - worth taking a look through to see what sorts of -things people frequently ask about. - -I very much appreciate your taking over maintaining/developing flex, and -apologize for how long it's taken me to bundle stuff up to give to you (all -too symptomatic of why I'm no longer able to work on flex :-( ). By all -means, let me know when you have questions ... - - Vern - -------- Message 2 - -Date: Mon, 21 Aug 2000 23:38:00 PDT -From: Vern Paxson <vern> -Subject: Re: I volunteer to modify flex to generate reentrant C code. -To: "John W. Millaway" <jmillawa@nimbus.ocis.temple.edu> -Cc: help-flex@gnu.org, king@reasoning.com -In-reply-to: Your message of Mon, 21 Aug 2000 16:23:18 PDT. - -> I'm requesting this feature and at the same time volunteering to implement -> it: - -John Bossom contributed patches a while ago for adding reentrant scanners. -I never managed to try them out or integrate them (note that I'm no longer -the flex maintainer/developer, having just transferred the honors to Dick -King, whom I've cc'd), but I've made them available from: - - ftp://ftp.ee.lbl.gov/.vp-flex-reentrant.tar.gz - -I imagine Dick will be interested in hearing of problems/improvements/etc. - - Vern - -------- Message 3 - -Date: Wed, 30 Aug 2000 07:23:07 PDT -From: Vern Paxson <vern> -Subject: Re: bug in flex 2.5.4? -To: Keith McGuigan <keith.mcguigan@ecora.com> -Cc: king@reasoning.com -In-reply-to: Your message of Tue, 29 Aug 2000 12:21:02 EDT. - -This does indeed sound like a bug. Dick King (cc'd) recently took over -development & maintenance for flex; I've sent him a copy of your message. - - Vern - -------- Message 4 - -Date: Thu, 31 Aug 2000 15:41:00 PDT -From: Vern Paxson <vern> -Subject: Re: Flex -To: "Skifstrom, Eric" <SKIFSTRE@Mattel.com> -Cc: king@reasoning.com -In-reply-to: Your message of Wed, 30 Aug 2000 09:35:58 PDT. - -> Thanks for all the work on Flex. It is appreciated. How do I get a copy of -> flex for Windows 98 platform. - -I've only directly support flex for Unix, and have always distributed it -in source-code form only. So I don't know where you get a copy, though -I bet with some web surfing you can find one. - -Also, please note, Dick King (cc'd) has taken over flex development -and maintenance. - - Vern - -------- Message 5 - -Date: Thu, 31 Aug 2000 15:43:40 -0700 (PDT) -From: Dick King <king@reasoning.com> -Subject: Re: Flex -To: vern@ee.lbl.gov -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -In-Reply-To: <200008312241.e7VMf0G14335@daffy.ee.lbl.gov> -References: <200008312241.e7VMf0G14335@daffy.ee.lbl.gov> -X-Mailer: VM 6.61 under 19.14 XEmacs Lucid - -Vern Paxson writes: - >> Thanks for all the work on Flex. It is appreciated. How do I get a copy of - >> flex for Windows 98 platform. - > - >I've only directly support flex for Unix, and have always distributed it - >in source-code form only. So I don't know where you get a copy, though - >I bet with some web surfing you can find one. - > - >Also, please note, Dick King (cc'd) has taken over flex development - >and maintenance. - > - > Vern - > - -I have a couple of how-to-be-a-gnu-product-maintainer questions. - -First, how do i get to the wish list? I assume people mail the stuff and it -accumulates somewhere. - -Second, if i decide i have a fix for a group of problems what do i do to get it -distributed? - -- -dk - -------- Message 6 - -Date: Sun, 03 Sep 2000 12:22:48 PDT -From: Vern Paxson <vern> -Subject: Re: Flex -To: Dick King <king@reasoning.com> -In-reply-to: Your message of Thu, 31 Aug 2000 15:43:40 PDT. - -> First, how do i get to the wish list? I assume people mail the stuff and it -> accumulates somewhere. - -There's a honed-down copy in the distribution I put together. I also have -several hundred email messages, which will be rather tedious to wade through, -but I can put together for you if you wish (this is non-trivial, though, -since there's some personal mail intermixed in it which I'll have to locate -and remove). - -> Second, if i decide i have a fix for a group of problems what do i do to get it -> distributed? - -Put together a new release distribution (either a minor version change or -a major one, depennding on the scope of the changes). Make sure it works -with "make bigcheck", and make sure you can copy the distribution to a -virgin machine, unpack it & successfully build it (including "make bigcheck"). - -Next, make it available somewhere for anonymous ftp and/or Web access. -(If this is a problem, I can still host the distribution at ftp.ee.lbl.gov.) - -Finally, send mail like the appended example. For your first message, -you should explain that you've taken over development of flex from me. -It would probably be good to cc me, in case a thread develops from the -note that it would be helpful to have me contribute to. No need to cc -me on later notes (though I don't mind, either). - -I used to send the note to compilers@iecc.com (the USENET comp.compilers -group) and info-gnu@prep.ai.mit.edu. I don't know if the former is still -the correct address - you could find out from the USENET group's archives, -presumably. The latter has likely changed to info-gnu@gnu.org. - - Vern - - -Date: Tue, 28 Mar 95 11:58:04 PST -From: Vern Paxson <vern> -Subject: flex release 2.5.1 now available -To: compilers@iecc.com, info-gnu@prep.ai.mit.edu - -Release 2.5.1 of flex, a POSIX-compliant "lex" scanner generator, is now -available for anonymous ftp to ftp.ee.lbl.gov. Retrieve flex-2.5.1.tar.Z -or flex-2.5.1.tar.gz. flex-2.5.1.tar.gz should be showing up shortly at -the usual GNU mirror sites. - -The main changes between 2.5 and 2.4 are: - - - A new concept of "start condition" scope lets you group together - rules sharing the same start conditions into a syntactic unit. - - Flex now includes a general mechanism for specifying scanner options. - - Routines have been added for scanning strings instead of files. - - Routines have been added for manipulating stacks of start conditions. - - Fledgling support for POSIX character class expressions. - - Enhanced portability to MS-DOS, VMS, NT, Macintosh, Amiga. - - A number of bugs have been fixed. - - input() no longer trashes yytext. - - Interactive scanners now run significantly faster. - - C++ scanner objects now work with the -P option. - - The promised rewrite of the C++ FlexLexer class has not been done, - but is still planned. - -See the "NEWS" file for more details. - -Please report bugs to: vern@ee.lbl.gov or bug-gnu-utils@prep.ai.mit.edu - - Vern - -Vern Paxson -Lawrence Berkeley Laboratory -vern@ee.lbl.gov - -------- Message 7 - -Date: Wed, 13 Sep 2000 00:59:33 PDT -From: Vern Paxson <vern> -Subject: Re: Does the FSF maintain Flex? -To: "Leanard Lin" <leanard@syntest.com.tw> -Cc: king@reasoning.com -In-reply-to: Your message of Wed, 13 Sep 2000 00:55:38 PDT. - -> Dear Vern, -> -> I have a problem about flex of linux version. -> If comment is very long, flex will not re-malloc -> for it. -> It will display a error message and exit program. -> -> Thanks, -> -> Leanard - -Well, clearly if a comment is larger than the available memory, then flex -can't realloc to accommodate it. But presumably that's not what's going on -or you wouldn't have bothered writing; so I don't know what the problem -might be. - -Flex is now developed & maintained by Dick King, king@reasoning.com, whom -I've cc'd. - - Vern - -------- Message 8 - -Date: Wed, 04 Oct 2000 23:36:59 PDT -From: Vern Paxson <vern> -Subject: Re: Flex 2.5.4.1 Bugs -To: Hans Aberg <haberg@matematik.su.se> -Cc: king@reasoning.com -In-reply-to: Your message of Sun, 01 Oct 2000 20:32:48 PDT. - -> I made a Metrowerks MacOS CW Pro 5 plugin out of the Flex 2.5.4.1. Here are -> some bugs: -> -> -- flexerror() calls flexend() which becomes an infinite loop in the case -> of an error in flexend(). So, flexerror(), replace flexend() by exit(). -> -> -- If there is no output file error, flexend() fails to close the output -> file. This causes a problem as a plugin, because the file remains locked -> the next time the compiler runs, and the file cannot be reopened. -> -> This bug also occurs if, one first has created the .c file, then runs it -> with a -S option for a skeleton filet Flex cannot find, in which case -> flexend() fails to close the output file. - -Please note, Dick King (king@reasoning.com) has taken over flex maintenance -and development. I've cc'd him. - - Vern - -------- Message 9 - -Date: Wed, 04 Oct 2000 23:38:07 PDT -From: Vern Paxson <vern> -Subject: Re: flex -+ option and ISO C++ IOStreams -To: Harri Pasanen <harri.pasanen@trema.com> -Cc: king@reasoning.com -In-reply-to: Your message of Mon, 02 Oct 2000 10:15:59 PDT. - -> You probably already know this: -> -> flex version 2.5.4 generates with -+ flag a forward declaration of class -> istream. -> Problem is that it is incompatible with the new ANSI IOStreams. This -> becomes apparent if I try to use KAI C++ (http://www.kai.com/) to -> compile the generated scanner. -> -> Lexing Scanner.l... -> Compiling Scanner.o... -> "/usr/local/KAI/KCC.pu-4.0b-1/KCC_BASE/include/istream.h", line 12: -> error #101: -> "istream" has already been declared in the current scope -> using std::istream; -> -> I wonder if an updated version of flex is in the works? In the time -> being I can compile my own... - -Dick King (king@reasoning.com) has recently taken over flex maintenance and -development (I've cc'd him). Since there will be a fair amount of getting -up to speed for him, I think building your own version for now is the -best course. - - Vern - -------- Message 10 - -Date: Thu, 05 Oct 2000 00:27:15 PDT -From: Vern Paxson <vern> -Subject: Re: Flex Feature Idea -To: Davy Durham <david.durham@wcom.com> -Cc: king@reasoning.com -In-reply-to: Your message of Thu, 28 Sep 2000 11:28:52 EDT. - -> First I just want to say how much flex has been helpful to me in -> writing my parser, and that I really appreciate the free use of the -> program... - -You're welcome! - -Please note, though, that Dick King (cc'd) has taken over flex maintenance -and development. - -> I can't re-write YY_INPUT which could detect and remove the '\' and -> \n and go ahead and return the _next_ char, because I'm keeping up -> with the line-number and column-number in YY_USER_ACTION for each -> token... Since flex buffer's the data retrieved from YY_INPUT, _my_ -> YY_INPUT would need to increment the line-number, but it would happen -> possibly too soon... Plus I'm using yy_switch_buffer to do macro -> replacements quite a bit which I think would complicate things even -> more.... - -Well, that's how you have to do it, I'm afraid. I can't see any practical -way to add this as a feature to flex at a later stage in the input analysis, -since the semantics really are "pretend this slash and this newline don't -exist (mod line numbers)". What you can probably do for line numbers is -the following: create a data structure that maps byte offsets in the current -input stream to line numbers. YY_INPUT would fill this in as it returns -new (possibly munged) lines, and your actions would consult it in order to -generate correct location information for error messages. (To deal with -multiple input buffers, you maintain one data structure per buffer.) - - Vern - -------- Message 11 - -Date: Thu, 05 Oct 2000 01:03:01 PDT -From: Vern Paxson <vern> -Subject: Re: [minor] obscure error messages if YY_DECL ends in semicolon -To: "Eric R. Buddington" <ebuddington@mail.wesleyan.edu> -Cc: king@reasoning.com -In-reply-to: Your message of Thu, 14 Sep 2000 13:39:52 EDT. - -> Your address was listed in the flex info pages, so I send this to you; if -> you aren't the currnet maintainer, please let me know. - -I'm not longer the maintainer - Dick King (cc'd) has taken over. - -> First, I would like to add an '%option reentrant", such that the flex code -> would have the lexer function as its only global symbol. Would you -> consider such a patch for inclusion in the official flex? - -Someone has already contributed patches for this - you can get them -from ftp://ftp.ee.lbl.gov/.vp-flex-reentrant.tar.gz . - -> Secondly, an erroneous input that might give better error messages: -> -> If YY_DECL ends with a semicolon, the generated error messages refer to -> wrong (nonexistant in this case) line numbers in the source file. The -> user error is only clear after turning off #line directives and looking at -> the generated .c file. -> -> It would be good to have this error (a fairly easy one to make) reported -> clearly, if that can be done elegantly. This I what I get now: -> -> flex -t -Pcap_string_ cap_string.flex > cap_string.c -> cc -Wall -c -o cap_string.o cap_string.c -> cap_string.flex:163: parse error before `{' -> cap_string.flex:165: register name not specified for `yy_cp' -> cap_string.flex:165: register name not specified for `yy_bp' -> cap_string.flex:166: register name not specified for `yy_act' -> cap_string.flex:39: parse error before `if' -> ... - -I don't offhand see an easy way to fix this, other than scanning the source -for a YY_DECL definition and looking for a semi-colon (urgh, what a hack). -Dick will have to toss it onto the to-do list. - - Vern - -------- Message 12 - -Date: Thu, 5 Oct 2000 10:51:53 +0200 -From: Hans Aberg <haberg@matematik.su.se> -Subject: Re: Flex 2.5.4.1 Bugs -To: Vern Paxson <vern@ee.lbl.gov> -Cc: king@reasoning.com -X-Sender: haberg@pop.matematik.su.se (Unverified) -In-Reply-To: <200010050636.e956axT12828@daffy.ee.lbl.gov> -References: Your message of Sun, 01 Oct 2000 20:32:48 PDT. -Mime-Version: 1.0 -Content-Type: text/plain; charset="us-ascii" -Status: U - -At 23.36 -0700 0-10-04, Vern Paxson wrote: ->Please note, Dick King (king@reasoning.com) has taken over flex maintenance ->and development. I've cc'd him. - -OK. - -To: Dick King -Bison seems to under revision right now (I'm working hard with the Bison -development team just these days on pinpointing some bugs). -- Perhaps Flex -& Bison development should somehow be synchronized. - -I have labelled Flex as BSD. Is that correct? - - Hans Aberg - - - -------- Message 13 - -Date: Fri, 06 Oct 2000 02:04:11 PDT -From: Vern Paxson <vern> -Subject: Re: C++, flex under cygwin and Visual C++ -To: "Simon J. Julier" <sjulier@erols.com> -Cc: king@reasoning.com -In-reply-to: Your message of Thu, 05 Oct 2000 07:15:17 PDT. - -> Many apologies if either (a) it's a stupid question or (b) if I'm emailing -> the wrong person. - -It's (b) :-). Dick King (king@reasoning.com) has taken over flex -maintenance and development. I've cc'd him. - -> I have been using flex (v. impressive) to write a parser -> for a C++ program. The program is being compiled using a Windows -> 2000/Windows NT machine using the cygwin tool set and the Microsoft Visual -> C++ compiler. Because the cygwin distribution does not include FlexLexer.h, -> I took the advice from the man page and simply renamed lex.yy.c as -> lex.yy.cxx and compiled this as a C++ program. This almost works except for -> the fact that, in C++ compile mode, there is a dependency on unistd.h due -> to the following code snippet: -> -> #ifdef __cplusplus -> -> #include <stdlib.h> -> #include <unistd.h> -> -> ... (other stuff) ... -> -> Since the Visual C++ compiler does not come with the header file unistd.h, -> I manually modified the code to: -> -> #ifdef __cplusplus -> -> #include <stdlib.h> -> #ifndef _WIN32 -> #include <unistd.h> -> #endif /* ! _WIN32 */ -> -> Is this the "right way" to solve the problem? - -I imagine it is. This problem has come up a bunch of times, and, -much as I hate adding #ifdef's to the skeleton, I haven't thought of -any other way to do it. - -> If so, would it be possible -> to consider making the appropriate changes to flex.skl? - -Sounds okay to me, but this is now Dick's call. - - Vern - -------- Message 14 - -Date: Fri, 6 Oct 2000 09:31:08 -0700 (PDT) -From: Dick King <king@reasoning.com> -Subject: Re: C++, flex under cygwin and Visual C++ -To: vern@ee.lbl.gov -Cc: sjulier@erols.com -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -In-Reply-To: <200010060904.e9694BU17584@daffy.ee.lbl.gov> -References: <200010060904.e9694BU17584@daffy.ee.lbl.gov> -X-Mailer: VM 6.61 under 19.14 XEmacs Lucid - - - -I'm getting my flex support operations organized, finally. - -I've established a new eddress, flex@2xtreme.net . - -I'll start looking at the small bug fixes flex has been asked for in a week or -so. Then i will get to meaty changes. - -One meaty change i've been asked for which i would like to do [i did it for my -current company's lexer product so i think i understand the issues] is a -character level prefilter infrastructure, that would allow you to integrate a -cpp-style preprocessor [rather than making it a separate pass as is the norm] -or to write a flex lexer for a language like FORTRAN or COBOL or that language -i've heard about whose name escapes me where indentation is syntactically -significant. - -Vern Paxson writes: - >> Many apologies if either (a) it's a stupid question or (b) if I'm emailing - >> the wrong person. - > - >It's (b) :-). Dick King (king@reasoning.com) has taken over flex - >maintenance and development. I've cc'd him. - > - >> I have been using flex (v. impressive) to write a parser - >> for a C++ program. The program is being compiled using a Windows - >> 2000/Windows NT machine using the cygwin tool set and the Microsoft Visual - >> C++ compiler. Because the cygwin distribution does not include FlexLexer.h, - >> I took the advice from the man page and simply renamed lex.yy.c as - >> lex.yy.cxx and compiled this as a C++ program. This almost works except for - >> the fact that, in C++ compile mode, there is a dependency on unistd.h due - >> to the following code snippet: - >> - >> #ifdef __cplusplus - >> - >> #include <stdlib.h> - >> #include <unistd.h> - >> - >> ... (other stuff) ... - >> - >> Since the Visual C++ compiler does not come with the header file unistd.h, - >> I manually modified the code to: - >> - >> #ifdef __cplusplus - >> - >> #include <stdlib.h> - >> #ifndef _WIN32 - >> #include <unistd.h> - >> #endif /* ! _WIN32 */ - >> - >> Is this the "right way" to solve the problem? - > - >I imagine it is. This problem has come up a bunch of times, and, - >much as I hate adding #ifdef's to the skeleton, I haven't thought of - >any other way to do it. - > - >> If so, would it be possible - >> to consider making the appropriate changes to flex.skl? - > - >Sounds okay to me, but this is now Dick's call. - > - > Vern - > - -------- Message 15 - -Date: Sun, 08 Oct 2000 01:19:08 PDT -From: Vern Paxson <vern> -Subject: Re: C++, flex under cygwin and Visual C++ -To: Dick King <king@reasoning.com> -In-reply-to: Your message of Fri, 06 Oct 2000 09:31:08 PDT. - -> One meaty change i've been asked for which i would like to do [i did it for my -> current company's lexer product so i think i understand the issues] is a -> character level prefilter infrastructure, that would allow you to integrate a -> cpp-style preprocessor [rather than making it a separate pass as is the norm] -> or to write a flex lexer for a language like FORTRAN or COBOL or that language -> i've heard about whose name escapes me where indentation is syntactically -> significant. - -That would be really nice to have! - - Vern - -------- Message 16 - -Date: Mon, 9 Oct 2000 12:27:13 -0400 (EDT) -From: Andrew Droffner <adroffne@versus.dmz.advance.net> -Subject: Re: Flex & Multiple Threads -To: Vern Paxson <vern@ee.lbl.gov> -Cc: help-flex@gnu.org, king@reasoning.com -In-Reply-To: <200010050752.e957qGq13639@daffy.ee.lbl.gov> -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII - -I'm unable to compile the scan.l LEX specification using the bootstrap -scanner, initscan.c. I have tried it on the latest flex source from GNU, -and the tarball from your page at ee.lbl.gov. - -If I drop the "%option reentrant" from scan.l, then it all compiles. I -doubt it works right then. What else do I need here, a new initscan.c? - -Thanks for the help. - -On Thu, 5 Oct 2000, Vern Paxson wrote: - -> > I'm interested in building a multi-threaded server using YACC & Lex. -> > The server & client parse the data they pass to each other. -> > -> > The Bison dialect of YACC uses a "%pure_parser" option to force re-entrant -> > code. I would like a Flex equivalent; is there one already? -> -> There are patches to flex to support reentrant scanners, which I've -> put in ftp://ftp.ee.lbl.gov/.vp-flex-reentrant.tar.gz . -> -> Also, please note, flex maintenance has been taken over by Dick King -> <king@reasoning.com>. -> -> Vern -> - -- -- -[ Andrew Droffner -[ Advance Publications Internet -[ -[ adroffne@advance.net - - -------- Message 17 - -Date: Tue, 10 Oct 2000 22:40:12 PDT -From: Vern Paxson <vern> -Subject: Re: Flex & Multiple Threads -To: Andrew Droffner <adroffne@versus.dmz.advance.net> -Cc: help-flex@gnu.org, king@reasoning.com -In-reply-to: Your message of Mon, 09 Oct 2000 12:27:13 PDT. - -> I'm unable to compile the scan.l LEX specification using the bootstrap -> scanner, initscan.c. I have tried it on the latest flex source from GNU, -> and the tarball from your page at ee.lbl.gov. -> -> If I drop the "%option reentrant" from scan.l, then it all compiles. I -> doubt it works right then. What else do I need here, a new initscan.c? - -I don't have any firsthand experience with those patches, unfortunately, -so all I can offer is to try building without the %option reentrant; -then run flex on scan.l to build a new scan.c; recompile using that; -run "make check" to make sure it's working okay; then try putting the -%option reentrant back in. Because I believe the modified scan.l doesn't -actually need %option reentrant, it's just there to exercise the scanning -during "make check". - - Vern - -------- Message 18 - -Date: Wed, 11 Oct 2000 11:42:35 PDT -From: Vern Paxson <vern> -Subject: Re: Flex & Multiple Threads -To: Dick King <king@reasoning.com> -In-reply-to: Your message of Wed, 11 Oct 2000 11:29:49 PDT. - -> How do i read help-flex@gnu.org? - -Try sending mail to help-flex-request@gnu.org with a message body of -"subscribe". Let me know if that doesn't work. - - Ven - -------- End of Forwarded Messages - - -1,, -X-Coding-System: nil -Mail-from: From vern@daffy.ee.lbl.gov Wed Mar 14 04:01:40 2001 -Return-Path: <vern@daffy.ee.lbl.gov> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id EAA09964 - for <wlestes@localhost>; Wed, 14 Mar 2001 04:01:40 -0500 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Wed, 14 Mar 2001 04:01:40 -0500 (EST) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f2E8pse19643 - for <wlestes@hermes.email.uncg.edu>; Wed, 14 Mar 2001 03:51:54 -0500 (EST) -Received: from daffy.ee.lbl.gov (daffy.ee.lbl.gov [131.243.1.31]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id DAA20408 - for <wlestes@uncg.edu>; Wed, 14 Mar 2001 03:51:53 -0500 (EST) -Received: (from vern@localhost) - by daffy.ee.lbl.gov (8.10.0/8.10.0) id f2E8pqR07884; - Wed, 14 Mar 2001 00:51:52 -0800 (PST) -Message-Id: <200103140851.f2E8pqR07884@daffy.ee.lbl.gov> -To: wlestes@uncg.edu -Subject: messages sent to Dick King (2 of 2) -Date: Wed, 14 Mar 2001 00:51:52 PST -From: Vern Paxson <vern@ee.lbl.gov> - -*** EOOH *** -To: wlestes@uncg.edu -Subject: messages sent to Dick King (2 of 2) -Date: Wed, 14 Mar 2001 00:51:52 PST -From: Vern Paxson <vern@ee.lbl.gov> - - -------- Forwarded Messages - -Date: Sat, 07 Oct 2000 10:31:22 -0700 -From: "Dick King, flex maintainer" <flex@2xtreme.net> -Subject: Re: the source tree -To: vern@ee.lbl.gov -Cc: flex@2xtreme.net -In-reply-to: <14814.15467.441052.399457@fiddle.mtview.reasoning.com> -Reply-to: flex@2xtreme.net -MIME-version: 1.0 -X-Mailer: Forte Agent 1.8/32.548 -Content-type: text/plain; charset=us-ascii -Content-transfer-encoding: 7bit -References: <14814.15467.441052.399457@fiddle.mtview.reasoning.com> - -On Fri, 6 Oct 2000 13:56:11 -0700 (PDT), you wrote: - -> > I think i'm prepared to give this a try. -> -> Cool!, thanks. Here's a snapshot of the current source tree. I'm about -> to leave for two week's vacation, not reading email, but upon my return -> I'll put together the stuff-to-do email archive, etc. -> -> Vern -> - -What is the current release? - -You sent me 2.5.4a to my office computer on June 20, but i found 2.5.5a on -June 20 and downloaded it to my home computer. - -- -dk - -PS: when anyone writes to you, tell them about my new eddress -[flex@2xtreme.net]? Thanks. - -- -dk - - -------- Message 2 - -Date: Sun, 08 Oct 2000 01:26:26 PDT -From: Vern Paxson <vern> -Subject: Re: a sort of flex-related question :-) -To: Alan Donovan <alan.donovan@arm.com> -Cc: flex@2xtreme.net -In-reply-to: Your message of Thu, 05 Oct 2000 18:49:51 PDT. - -> Vern, sorry to write out of the blue like this but I figure that as the -> maintainer of flex, you could probably answer my question in a second. - -I'm actually no longer the maintainer. Dick King has taken over. He's set -up the address flex@2xtreme.net for flex correspondence. I've cc'd him. - -> I'm writing a tool somewhere between flex and yacc, in which you specify -> a set of rules and actions (as in yacc) but the language is that of -> regular expressions not context-free grammars. -> -> Each rule may include literals, operators, and simpler (i.e. previously -> declared) rules as components, and have an action. e.g. -> -> foo :[0-9]+ { func1(); } -> -> bar :"x"foo { func2(); } -> |"y"foo { func3(); } -> -> So the NDFA for "bar" actually contains two copies of the NDFA for -> "foo". My problem arises when trying to determine where in the DFA -> (generated by subset construction) to invoke the actions associated with -> each rule. All my DFA states are annotated as to which rules (if any) -> they start and which rules (if any) they accept. However this is not -> enough to correctly invoke the actions. -> -> Consider: -> -> foo: ab -> bar: a -> -> in the context of some larger expression zip:(foo|bar)"c". -> -> The DFA for "zip" looks like: -> -> a b c -> P ---> Q ---> R ---> T -> | -> +----> S -> c -> -> P starts rules "foo", "bar" and "zip". Q accepts "bar" and R accepts -> rule "foo". S and T accept zip. -> -> On input "abc", how do you know _not_ to invoke the action for rule -> "bar" when you reach state Q (or more correctly, when you receive the -> "b" and move to state R)? -> -> So the question is: do you think what I am trying to do is possible? - -What you are doing looks like a parse, and you can only parse LR(0) -languages with DFAs (if I recall correctly), i.e., those without -lookahead. The above example requires lookahead to differentiate -matching foo from bar. So I think you're out of luck here, if -I understand the example correctly. - - Vern - -------- Message 3 - -Date: Sun, 08 Oct 2000 07:47:01 -0700 -From: "Dick King, flex maintainer" <flex@2xtreme.net> -Subject: Re: a sort of flex-related question :-) -To: Vern Paxson <vern@ee.lbl.gov> -Cc: Alan Donovan <alan.donovan@arm.com> -In-reply-to: <200010080826.e988QQC23650@daffy.ee.lbl.gov> -Reply-to: flex@2xtreme.net -MIME-version: 1.0 -X-Mailer: Forte Agent 1.8/32.548 -Content-type: text/plain; charset=us-ascii -Content-transfer-encoding: 7bit -References: <200010080826.e988QQC23650@daffy.ee.lbl.gov> -Status: U - -On Sun, 08 Oct 2000 01:26:26 PDT, you wrote: - -> > Vern, sorry to write out of the blue like this but I figure that as the -> > maintainer of flex, you could probably answer my question in a second. -> -> I'm actually no longer the maintainer. Dick King has taken over. He's set -> up the address flex@2xtreme.net for flex correspondence. I've cc'd him. -> -> > I'm writing a tool somewhere between flex and yacc, in which you specify -> > a set of rules and actions (as in yacc) but the language is that of -> > regular expressions not context-free grammars. -> > -> > Each rule may include literals, operators, and simpler (i.e. previously -> > declared) rules as components, and have an action. e.g. -> > -> > foo :[0-9]+ { func1(); } -> > -> > bar :"x"foo { func2(); } -> > |"y"foo { func3(); } -> > -> > So the NDFA for "bar" actually contains two copies of the NDFA for -> > "foo". My problem arises when trying to determine where in the DFA -> > (generated by subset construction) to invoke the actions associated with -> > each rule. All my DFA states are annotated as to which rules (if any) -> > they start and which rules (if any) they accept. However this is not -> > enough to correctly invoke the actions. -> > -> > Consider: -> > -> > foo: ab -> > bar: a -> > -> > in the context of some larger expression zip:(foo|bar)"c". -> > -> > The DFA for "zip" looks like: -> > -> > a b c -> > P ---> Q ---> R ---> T -> > | -> > +----> S -> > c -> > -> > P starts rules "foo", "bar" and "zip". Q accepts "bar" and R accepts -> > rule "foo". S and T accept zip. -> > -> > On input "abc", how do you know _not_ to invoke the action for rule -> > "bar" when you reach state Q (or more correctly, when you receive the -> > "b" and move to state R)? -> > -> > So the question is: do you think what I am trying to do is possible? -> -> What you are doing looks like a parse, and you can only parse LR(0) -> languages with DFAs (if I recall correctly), i.e., those without -> lookahead. The above example requires lookahead to differentiate -> matching foo from bar. So I think you're out of luck here, if -> I understand the example correctly. -> -> Vern - -Vern is mostly correct. Small extensions can give you a single token -[character, here] lookahead but that is not enough to deliver the -functionality you want. Consider - -foo: a { foo_fn(); } -bar: ab { bar_fn(); } - -mumble: foo bcde.....yZ { any } - | bar cde.....yW { any } - -- -dk - - -------- Message 4 - -Date: Tue, 10 Oct 2000 02:36:57 PDT -From: Vern Paxson <vern> -Subject: Re: Bison's semantic parsers -To: Akim Demaille <akim@epita.fr> -Cc: Hans Aberg <haberg@matematik.su.se>, - Davy Durham <david.durham@wcom.com>, Bison Help <help-bison@gnu.org>, - flex@2xtreme.net -In-reply-to: Your message of 10 Oct 2000 11:43:07 PDT. - -> Nope, indeed Vern seems also to say he won't work on Flex again. - -Unfortunately, yes. - -> Vern, could we imagine that Flex be put on the CVS server of the FSF, -> subversions.gnu.org? - -Thank you very much for the offer, I certainly appreciate it. However, -Dick King has already volunteered to take over maitenance and development. -I've cc'd the address he's using for flex-related mail, flex@2xtreme.net. - - Vern - -------- Message 5 - -Date: Tue, 10 Oct 2000 13:30:02 +0200 -From: Hans Aberg <haberg@matematik.su.se> -Subject: Re: Bison's semantic parsers -To: Vern Paxson <vern@ee.lbl.gov> -Cc: Akim Demaille <akim@epita.fr>, Davy Durham <david.durham@wcom.com>, - Bison Help <help-bison@gnu.org>, flex@2xtreme.net -X-Sender: haberg@pop.matematik.su.se -In-Reply-To: <200010100936.e9A9avg01250@daffy.ee.lbl.gov> -References: Your message of 10 Oct 2000 11:43:07 PDT. -Mime-Version: 1.0 -Content-Type: text/plain; charset="us-ascii" -Status: U - -At 02.36 -0700 0-10-10, Vern Paxson wrote: ->> Vern, could we imagine that Flex be put on the CVS server of the FSF, ->> subversions.gnu.org? -> ->Thank you very much for the offer, I certainly appreciate it. However, ->Dick King has already volunteered to take over maitenance and development. ->I've cc'd the address he's using for flex-related mail, flex@2xtreme.net. - -At 11.43 +0200 0-10-10, Akim Demaille wrote: ->Hans> Perhaps Bison and Flex should be bundled, or tuned up together. -> ->It's a good but bad idea. For instance you could also argue that ->Autoconf, Automake and Libtool be merged, but if you just observe that ->they have totally different evolutions, it becomes infeasible. While ->definitely a seducing idea, it wouldn't work IMHO. - -My experimenting with C++ though suggests that Bison and Flex needs some -synchronizing if one should take full advantage of that language: - -- -- One thing that come to my mind is that instead of letting the Bison -output .cc file include the Flex .cc file, they communicate the information -via header files. - -- -- When experimenting C++ manipulator style I mentioned before - Parser parser; - parser_value val; - ifstream ifs("...", ios_base::in | ios_base::binary); - ofstream ofs("..."); - if (ifs) try { for (;;) { - ifs >> parser >> val; - cout << val << endl; - } -I experience problems with how Flex resets its state, and how streams and -such are initialized. - -For example, if I try to gobble up UNIX, MacOS & DOS line separators in Flex by - \n|\r|\r\n { return '\n'; } -then, when Flex sees a \r it must first look ahead to verify the next -character isn't a \n. However, if a successful value "val" is produced, -then the next time one ends up at the line ifs >> parser >> val, Flex is -reset, and as a consequence, the extra character needed to the \n check is -gobbled up. - -One can get around this by not allowing this ifs >> parser >> val -construct, then the advantage of freer, and therefore easier user syntaxes -are lost. - -- -- I think that there might be some other issues, such as how to properly -localize all data that Bison and Flex uses, and how they should communicate -that. These are more questions of hand-shaking than bundling them together -as a single program. - -As for the comparisons of Bison and Flex versus other types of -compiler-compilers, I think the main disadvantage with them (the former) is -that they are extremely difficult to debug. It's rather hopeless trying to -debug the C/C++ files they produce as output. If one could hook up an -debugger though, so that one could step throw the .l/.y source files, just -as in the case of visual debugging of a C/C++ file, then this would change, -and it would not make any difference of what method is used, as long as it -is efficient and does the job. - - Hans Aberg - - - -------- Message 6 - -Date: 10 Oct 2000 13:51:33 +0200 -From: Akim Demaille <akim@epita.fr> -Subject: Re: Bison's semantic parsers -To: Vern Paxson <vern@ee.lbl.gov> -Cc: Hans Aberg <haberg@matematik.su.se>, Davy Durham <david.durham@wcom.com>, - Bison Help <help-bison@gnu.org>, flex@2xtreme.net, - Didier Verna <didier@epita.fr> -References: <200010100936.e9A9avg01250@daffy.ee.lbl.gov> -In-Reply-To: Vern Paxson's message of "Tue, 10 Oct 2000 02:36:57 PDT" -Lines: 27 -User-Agent: Gnus/5.0807 (Gnus v5.8.7) XEmacs/21.1 (Channel Islands) -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Status: U - ->>>>> "Vern" == Vern Paxson <vern@ee.lbl.gov> writes: - ->> Nope, indeed Vern seems also to say he won't work on Flex again. - -Vern> Unfortunately, yes. - -Just by curiosity: you're no longer interested, or you don't have time -enough? - ->> Vern, could we imagine that Flex be put on the CVS server of the ->> FSF, subversions.gnu.org? - -Vern> Thank you very much for the offer, I certainly appreciate it. - -I'm also quite pleased to see my offer pleased you so much :) - -Vern> However, Dick King has already volunteered to take over -Vern> maitenance and development. I've cc'd the address he's using -Vern> for flex-related mail, flex@2xtreme.net. - -Thanks! - -Then, I shall restate my question for flex@2xtreme: is there a CVS -server or something which would make it possible to participate the -development of Flex? - - Akim - -------- Message 7 - -Date: Tue, 10 Oct 2000 14:15:53 PDT -From: Vern Paxson <vern> -Subject: Re: Bison's semantic parsers -To: Akim Demaille <akim@epita.fr> -Cc: Hans Aberg <haberg@matematik.su.se>, - Davy Durham <david.durham@wcom.com>, Bison Help <help-bison@gnu.org>, - flex@2xtreme.net, Didier Verna <didier@epita.fr> -In-reply-to: Your message of 10 Oct 2000 13:51:33 PDT. - -> Just by curiosity: you're no longer interested, or you don't have time -> enough? - -No time ... - - Vern - -------- Message 8 - -Date: Thu, 12 Oct 2000 20:07:57 PDT -From: Vern Paxson <vern> -Subject: Re: Flex 2.5.4 Bug -To: Cliff Sarginson <csarginson@descartes.com> -Cc: flex@2xtreme.net -In-reply-to: Your message of Thu, 12 Oct 2000 13:52:06 +0200. - -> I dont know if you still receive bug reports about flex .. - -I'm not, Dick King (cc'd) has taken over maintenance & development. - -> but here is one.. ! -> -> In a scanner we have .. -> -> %start this that msg another -> -> The field "msg" gets turned into a -> -> #define msg 3 -> -> We do not define a xxx_YY_FATAL_ERROR -> -> So flex supplies one, as a macro, with a definition: -> -> xxx_yy_fatal_error (const msg []) -> -> The "C" pre-processor merrily turns this into -> -> xx_yy_fatal_error ( const 3 [] ) -> -> Are we really the first to come across this ? Flex should maybe -> be a bit more creative with it's paramater naming for macro's -> or do some other name space checking maybe ? - -Yep, this is a known problem. The difficulty is that when lex was -originally designed, it allowed you to switch start states using -"BEGIN msg" rather than "BEGIN(msg)". This means that either you -do a major analysis of the source to only patch up true BEGIN's -(rather than, say, one that occurs inside a string literal); or you -use a gross hack in defining BEGIN, like flex does: - - #define BEGIN yy_start = 1 + 2 * - -With this sort of definition, there's no way to modify the namespace -consumed by start states. If instead you could require the ()'s, then -you could use - - #define BEGIN(state) yy_start = 1 + 2 * (YY_STATE_ ## state) - -and all would be happy ... - - Vern - -------- Message 9 - -Date: Thu, 12 Oct 2000 20:08:03 PDT -From: Vern Paxson <vern> -Subject: Re: a sort of flex-related question :-) -To: Alan.Donovan@arm.com -Cc: flex@2xtreme.net -In-reply-to: Your message of Thu, 12 Oct 2000 15:36:38 BST. - -> Thank you both for your help. I can probably rearrange my grammars to be -> LR(0). Can you give me a reference for the algorithm for LR(0) parsing with -> a DFA? - -Dunno off hand, but I imagine it must be in the Dragon Book. - - Vern - -------- Message 10 - -Date: Thu, 02 Nov 2000 11:56:35 PST -From: Vern Paxson <vern> -Subject: Re: flex documentation enhancement request -To: Tracy Camp <campt@thalvors.miralink.com> -Cc: flex@2xtreme.net -In-reply-to: Your message of Thu, 02 Nov 2000 10:17:17 PST. - -Yes, a lot of people get bitten by this, unfortunately. - -Note, Dick King has taken over flex maintenance and development, and has -set up the address flex@2xtreme.net for flex correspondence. I've cc'd him. - - Vern - - -> As a new user to flex I found the following situation quite confusing and -> think a breif caviate note in the manual would have helped out (or at -> least an emphisis if there was one) :) -> -> when using external variables when patching a pattern such as: -> -> %x buffer_dev -> %{ -> extern struct mystruct astruct; /* struct containing member buffer_dev */ -> %} -> %% -> buffer_dev= BEGIN(buffer_dev); -> -> <buffer_dev>.*$ { -> strncpy(astruct.buffer_dev,yytext,255); -> } -> %% -> -> this causes all sorts of problems because 'buffer_dev' is defined by flex -> at some point and I used buffer_dev as a member of an external structure -> that I'm trying to fill in with flex. This causes all sorts of compile -> problems. Renaming my 'buffer_dev' condition to something else works -> around this, but it was not immediately obvious what the problem was from -> the compile error. For all else I found your manual to be of GREAT help - -> thanks! -> -> t. -> -> Tracy Camp -> Product Development -> Miralink Corp.PDX -> Portland OR -> 503-223-3140 -> - -------- Message 11 - -Date: Thu, 09 Nov 2000 23:03:38 PST -From: Vern Paxson <vern> -Subject: Re: Standard C++ compatibility for flex++ -To: Volker Simonis <simonis@informatik.uni-tuebingen.de> -Cc: help-flex@gnu.org, flex@2xtreme.net -In-reply-to: Your message of Wed, 08 Nov 2000 15:50:36 +0100. - -> Is there any chance for a new release of flex? Is there a maintainer right now? -> Is it possible to submit some bug-fixes or to contribute in some way? - -Dick King has taken over flex development and maintenance. You can -reach him at flex@2xtreme.net (cc'd). - - Vern - -------- Message 12 - -Date: Wed, 14 Feb 2001 12:57:37 PST -From: Vern Paxson <vern> -Subject: Re: Bug#84780: Fix for info documentation (fwd) -To: Santiago Vila <sanvila@unex.es> -Cc: Gordon Sadler <gbsadler1@lcisp.com>, flex@2xtreme.net -In-reply-to: Your message of Wed, 14 Feb 2001 15:40:30 PST. - -Please note, Dick King has taken over flex maintenance and development, -and has set up the address flex@2xtreme.net for flex correspondence. - - Vern - - -> Hello. -> -> I received this from the Debian Bug System. -> -> ---------- Forwarded message ---------- -> Date: Sun, 4 Feb 2001 02:41:30 -0600 -> From: Gordon Sadler <gbsadler1@lcisp.com> -> To: Debian Bug Tracking System <submit@bugs.debian.org> -> Subject: #84780: Fix for info documentation -> -> Package: flex -> Version: 2.5.4a-9 -> Severity: wishlist -> -> Attached find a diff to MISC/texinfo/flex.texi -> I noticed during the texi2html run it complains of first section not -> being toplevel. I opened the texi file and changed the toplevel -> sections to chapters. While I was there noticed the comment about -> fixing all of the See... to make them @xref, so I did. -> -> Looks like upstream is pretty much done ... but you seem to be in -> touch, last changelog mentions manpage patch from author? -> -> If you use this texi to regen the info the x-refs make it a little more -> useable. Maybe I'll add the index in next -) -> -> Gordon Sadler -> ------------------------------------------------------------------------ -> This is the patch in unified format: -> -> diff -r -u flex-2.5.4.orig/MISC/texinfo/flex.texi flex-2.5.4/MISC/texinfo/flex.texi -> --- flex-2.5.4.orig/MISC/texinfo/flex.texi Sun Jul 27 04:47:21 1997 -> +++ flex-2.5.4/MISC/texinfo/flex.texi Wed Feb 14 15:34:49 2001 -> @@ -151,12 +151,12 @@ -> @end ifinfo -> -> @node Name, Synopsis, Top, Top -> -@section Name -> +@chapter Name -> -> flex - fast lexical analyzer generator -> -> @node Synopsis, Overview, Name, Top -> -@section Synopsis -> +@chapter Synopsis -> -> @example -> flex [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton] -> @@ -164,7 +164,7 @@ -> @end example -> -> @node Overview, Description, Synopsis, Top -> -@section Overview -> +@chapter Overview -> -> This manual describes @code{flex}, a tool for generating programs -> that perform pattern-matching on text. The manual -> @@ -244,7 +244,7 @@ -> @end table -> -> @node Description, Examples, Overview, Top -> -@section Description -> +@chapter Description -> -> @code{flex} is a tool for generating @dfn{scanners}: programs which -> recognized lexical patterns in text. @code{flex} reads the given -> @@ -260,7 +260,7 @@ -> corresponding C code. -> -> @node Examples, Format, Description, Top -> -@section Some simple examples -> +@chapter Some simple examples -> -> First some simple examples to get the flavor of how one -> uses @code{flex}. The following @code{flex} input specifies a scanner -> @@ -371,7 +371,7 @@ -> following sections. -> -> @node Format, Patterns, Examples, Top -> -@section Format of the input file -> +@chapter Format of the input file -> -> The @code{flex} input file consists of three sections, separated -> by a line with just @samp{%%} in it: -> @@ -439,7 +439,7 @@ -> where the pattern must be unindented and the action must -> begin on the same line. -> -> -See below for a further description of patterns and -> +@xref{Patterns}, for a further description of patterns and -> actions. -> -> Finally, the user code section is simply copied to -> @@ -468,7 +468,7 @@ -> is also copied verbatim to the output up to the next "*/". -> -> @node Patterns, Matching, Format, Top -> -@section Patterns -> +@chapter Patterns -> -> The patterns in the input are written using an extended -> set of regular expressions. These are: -> @@ -697,7 +697,7 @@ -> @end itemize -> -> @node Matching, Actions, Patterns, Top -> -@section How the input is matched -> +@chapter How the input is matched -> -> When the generated scanner is run, it analyzes its input -> looking for strings which match any of its patterns. If -> @@ -773,7 +773,7 @@ -> classes (the @code{c++} option; see below). -> -> @node Actions, Generated scanner, Matching, Top -> -@section Actions -> +@chapter Actions -> -> Each pattern in a rule has a corresponding action, which -> can be any arbitrary C statement. The pattern ends at the -> @@ -1035,7 +1035,7 @@ -> @end itemize -> -> @node Generated scanner, Start conditions, Actions, Top -> -@section The generated scanner -> +@chapter The generated scanner -> -> The output of @code{flex} is the file @file{lex.yy.c}, which contains -> the scanning routine @samp{yylex()}, a number of tables used by -> @@ -1136,15 +1136,15 @@ -> -> Three routines are available for scanning from in-memory -> buffers rather than files: @samp{yy_scan_string()}, -> -@samp{yy_scan_bytes()}, and @samp{yy_scan_buffer()}. See the discussion -> -of them below in the section Multiple Input Buffers. -> +@samp{yy_scan_bytes()}, and @samp{yy_scan_buffer()}. -> +@xref{Multiple buffers, ,Multiple Input Buffers}. -> -> The scanner writes its @samp{ECHO} output to the @code{yyout} global -> (default, stdout), which may be redefined by the user -> simply by assigning it to some other @code{FILE} pointer. -> -> @node Start conditions, Multiple buffers, Generated scanner, Top -> -@section Start conditions -> +@chapter Start conditions -> -> @code{flex} provides a mechanism for conditionally activating -> rules. Any rule whose pattern is prefixed with "<sc>" -> @@ -1500,7 +1500,7 @@ -> @samp{%option stack} directive (see Options below). -> -> @node Multiple buffers, End-of-file rules, Start conditions, Top -> -@section Multiple input buffers -> +@chapter Multiple input buffers -> -> Some scanners (such as those which support "include" -> files) require reading from several input streams. As -> @@ -1675,7 +1675,7 @@ -> @end table -> -> @node End-of-file rules, Miscellaneous, Multiple buffers, Top -> -@section End-of-file rules -> +@chapter End-of-file rules -> -> The special rule "<<EOF>>" indicates actions which are to -> be taken when an end-of-file is encountered and yywrap() -> @@ -1735,7 +1735,7 @@ -> @end example -> -> @node Miscellaneous, User variables, End-of-file rules, Top -> -@section Miscellaneous macros -> +@chapter Miscellaneous macros -> -> The macro @code{YY_USER_ACTION} can be defined to provide an -> action which is always executed prior to the matched -> @@ -1800,7 +1800,7 @@ -> the @code{YY_BREAK} is inaccessible. -> -> @node User variables, YACC interface, Miscellaneous, Top -> -@section Values available to the user -> +@chapter Values available to the user -> -> This section summarizes the various values available to -> the user in the rule actions. -> @@ -1865,7 +1865,7 @@ -> @end itemize -> -> @node YACC interface, Options, User variables, Top -> -@section Interfacing with @code{yacc} -> +@chapter Interfacing with @code{yacc} -> -> One of the main uses of @code{flex} is as a companion to the @code{yacc} -> parser-generator. @code{yacc} parsers expect to call a routine -> @@ -1890,7 +1890,7 @@ -> @end example -> -> @node Options, Performance, YACC interface, Top -> -@section Options -> +@chapter Options -> @code{flex} has the following options: -> -> @table @samp -> @@ -1903,8 +1903,8 @@ -> and @samp{-Cf} or @samp{-CF} is used, the generated scanner will -> run faster (see the @samp{-p} flag). Only users who wish -> to squeeze every last cycle out of their scanners -> -need worry about this option. (See the section on -> -Performance Considerations below.) -> +need worry about this option. (@pxref{Performance, , -> +Performance Considerations}) -> -> @item -c -> is a do-nothing, deprecated option included for -> @@ -2138,8 +2138,7 @@ -> -> @item -+ -> specifies that you want flex to generate a C++ -> -scanner class. See the section on Generating C++ -> -Scanners below for details. -> +scanner class. @xref{C++, ,Generating C++ Scanners}. -> -> @item -C[aefFmr] -> controls the degree of table compression and, more -> @@ -2419,8 +2418,7 @@ -> function @samp{foo::yylex()} instead of @samp{yyFlexLexer::yylex()}. -> It also generates a @samp{yyFlexLexer::yylex()} member function that -> emits a run-time error (by invoking @samp{yyFlexLexer::LexerError()}) -> -if called. See Generating C++ Scanners, below, for additional -> -information. -> +if called. @xref{C++, ,Generating C++ Scanners}. -> -> A number of options are available for lint purists who -> want to suppress the appearance of unneeded routines in -> @@ -2439,7 +2437,7 @@ -> unless you use @samp{%option stack}). -> -> @node Performance, C++, Options, Top -> -@section Performance considerations -> +@chapter Performance considerations -> -> The main design goal of @code{flex} is that it generate -> high-performance scanners. It has been optimized for dealing -> @@ -2756,7 +2754,7 @@ -> the two is at about 8K characters/token. -> -> @node C++, Incompatibilities, Performance, Top -> -@section Generating C++ scanners -> +@chapter Generating C++ scanners -> -> @code{flex} provides two different ways to generate scanners for -> use with C++. The first way is to simply compile a -> @@ -2975,7 +2973,7 @@ -> releases. -> -> @node Incompatibilities, Diagnostics, C++, Top -> -@section Incompatibilities with @code{lex} and POSIX -> +@chapter Incompatibilities with @code{lex} and POSIX -> -> @code{flex} is a rewrite of the AT&T Unix @code{lex} tool (the two -> implementations do not share any code, though), with some -> @@ -3051,8 +3049,8 @@ -> -> Also note that flex C++ scanner classes @emph{are} -> reentrant, so if using C++ is an option for you, you -> -should use them instead. See "Generating C++ -> -Scanners" above for details. -> +should use them instead. @xref{C++, ,Generating C++ -> +Scanners}. -> -> @item -> @samp{output()} is not supported. Output from the @samp{ECHO} -> @@ -3198,7 +3196,7 @@ -> line. -> -> @node Diagnostics, Files, Incompatibilities, Top -> -@section Diagnostics -> +@chapter Diagnostics -> -> @table @samp -> @item warning, rule cannot be matched -> @@ -3251,8 +3249,7 @@ -> scanner specification includes recognizing the 8-bit -> character @var{x} and you did not specify the -8 flag, and your -> scanner defaulted to 7-bit because you used the @samp{-Cf} or @samp{-CF} -> -table compression options. See the discussion of the @samp{-7} -> -flag for details. -> +table compression options. @xref{Options, ,@samp{-7}flag}. -> -> @item flex scanner push-back overflow -> you used @samp{unput()} to push -> @@ -3285,7 +3282,7 @@ -> @end table -> -> @node Files, Deficiencies, Diagnostics, Top -> -@section Files -> +@chapter Files -> -> @table @file -> @item -lfl -> @@ -3311,7 +3308,7 @@ -> @end table -> -> @node Deficiencies, See also, Files, Top -> -@section Deficiencies / Bugs -> +@chapter Deficiencies / Bugs -> -> Some trailing context patterns cannot be properly matched -> and generate warning messages ("dangerous trailing -> @@ -3365,7 +3362,7 @@ -> The @code{flex} internal algorithms need documentation. -> -> @node See also, Author, Deficiencies, Top -> -@section See also -> +@chapter See also -> -> @code{lex}(1), @code{yacc}(1), @code{sed}(1), @code{awk}(1). -> -> @@ -3380,7 +3377,7 @@ -> (deterministic finite automata). -> -> @node Author, , See also, Top -> -@section Author -> +@chapter Author -> -> Vern Paxson, with the help of many ideas and much inspiration from -> Van Jacobson. Original version by Jef Poskanzer. The fast table -> - -------- End of Forwarded Messages - - -1, answered,, -X-Coding-System: nil -Mail-from: From vern@daffy.ee.lbl.gov Mon Mar 26 18:48:05 2001 -Return-Path: <vern@daffy.ee.lbl.gov> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id SAA00754 - for <wlestes@localhost>; Mon, 26 Mar 2001 18:48:05 -0500 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Mon, 26 Mar 2001 18:48:05 -0500 (EST) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f2QNVUe03862 - for <wlestes@hermes.email.uncg.edu>; Mon, 26 Mar 2001 18:31:30 -0500 (EST) -Received: from daffy.ee.lbl.gov (daffy.ee.lbl.gov [131.243.1.31]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id SAA18856 - for <wlestes@uncg.edu>; Mon, 26 Mar 2001 18:31:28 -0500 (EST) -Received: (from vern@localhost) - by daffy.ee.lbl.gov (8.10.0/8.10.0) id f2QNVPc23647; - Mon, 26 Mar 2001 15:31:25 -0800 (PST) -Message-Id: <200103262331.f2QNVPc23647@daffy.ee.lbl.gov> -To: wlestes@uncg.edu -Subject: Fwd: release 2.5 of flex... -Date: Mon, 26 Mar 2001 15:31:25 PST -From: Vern Paxson <vern@ee.lbl.gov> - -*** EOOH *** -To: wlestes@uncg.edu -Subject: Fwd: release 2.5 of flex... -Date: Mon, 26 Mar 2001 15:31:25 PST -From: Vern Paxson <vern@ee.lbl.gov> - -(Any luck finding some flex cycles?) - -------- Forwarded Message - -Date: Mon, 26 Mar 2001 00:06:31 +0200 -From: Kai Hennig <khennig@pobox.com> -Subject: release 2.5 of flex... -To: vern@ee.lbl.gov -X-Spam-Filter: check_local@studserv.stud.uni-hannover.de by digitalanswers.org -Reply-To: khennig@pobox.com -Organization: TRI Systems -X-Mailer: Mozilla 4.76 (Macintosh; U; PPC) -X-Accept-Language: en -MIME-Version: 1.0 -Content-Type: text/plain; charset=iso-8859-1 -Content-Transfer-Encoding: 8bit - -> Extract from file 'INSTALL' from flex-2.5.4 -> -> ... -> If you need to do unusual things to compile the package, we encourage -> you to figure out how `configure' could check whether to do them, and -> mail diffs or instructions to the address given in the README so we -> can include them in the next release. -> ... - -Hi Vern, - -I'm using your flex package 2.5.4 on a Macintosh with Apple's Macintosh -Programmers Workshop 3.5 (MPW). There is a description comming along -with your package for the THINK C version 6.0 from Scott Hofmann -(23-JUL-94) which is not helpfull for using the package with MPW. I -enclosed a brief instruction for using the flex package with MPW which -might be more helpfull since Think C is no longer officially available -(as far as I know). - -greetings, -Kai - - - - -Notes on the MPW 3.5 version of Flex 2.5.4 -Kai Hennig 25-Mar-2001 -Internet: khennig@pobox.com - -To compile and run Flex 2.5.4 as an MPW Tool no changes to any file have -to be done. Instead add a file called 'config.h' to the files listed in -the command lines given below with the content listed below the -commands. To compile and link all necessary files execute the following -commands in the MPW shell: - -MrC -noMapCR -alloca -ansi strict main.c -MrC -noMapCR -alloca -ansi strict ccl.c -MrC -noMapCR -alloca -ansi strict dfa.c -MrC -noMapCR -alloca -ansi strict ecs.c -MrC -noMapCR -alloca -ansi strict gen.c -MrC -noMapCR -alloca -ansi strict misc.c -MrC -noMapCR -alloca -ansi strict nfa.c -MrC -noMapCR -alloca -ansi strict -w off parse.c -MrC -noMapCR -alloca -ansi strict initscan.c -MrC -noMapCR -alloca -ansi strict tblcmp.c -MrC -noMapCR -alloca -ansi strict sym.c -MrC -noMapCR -alloca -ansi strict skel.c -MrC -noMapCR -alloca -ansi strict yylex.c -PPCLink -t 'MPST' -c 'MPS ' -o flex * -main.c.o * -ccl.c.o * -dfa.c.o * -ecs.c.o * -gen.c.o * -misc.c.o * -nfa.c.o * -parse.c.o * -initscan.c.o * -tblcmp.c.o * -sym.c.o * -skel.c.o * -yylex.c.o * -"{SharedLibraries}InterfaceLib" * -"{SharedLibraries}StdCLib" * -"{SharedLibraries}MathLib" * -"{PPCLibraries}StdCRuntime.o" * -"{PPCLibraries}PPCCRuntime.o" * -"{PPCLibraries}MrCIOStreams.o" * -"{PPCLibraries}PPCToolLibs.o" - - -/* File 'config.h' */ -/* Define to `unsigned' if <sys/types.h> doesn't define. */ -#undef size_t - -/* Define if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define if you have the <string.h> header file. */ -#define HAVE_STRING_H 1 - -/* Define if you have <alloca.h> and it should be used (not on -Ultrix). */ -#define HAVE_ALLOCA_H 1 - -/* Define if you use FAT file system, leave undefined for NTFS */ -#undef SHORT_FILE_NAMES - -/* Never do interactive input */ -#define YY_NEVER_INTERACTIVE 1 -/* EOF File 'config.h' */ - -------- End of Forwarded Message - - -1,, -X-Coding-System: nil -Mail-from: From vern@daffy.ee.lbl.gov Wed Mar 28 04:07:49 2001 -Return-Path: <vern@daffy.ee.lbl.gov> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id EAA02765 - for <wlestes@localhost>; Wed, 28 Mar 2001 04:07:49 -0500 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Wed, 28 Mar 2001 04:07:49 -0500 (EST) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f2S8o2e15934 - for <wlestes@hermes.email.uncg.edu>; Wed, 28 Mar 2001 03:50:02 -0500 (EST) -Received: from daffy.ee.lbl.gov (daffy.ee.lbl.gov [131.243.1.31]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id DAA23213 - for <wlestes@uncg.edu>; Wed, 28 Mar 2001 03:50:00 -0500 (EST) -Received: (from vern@localhost) - by daffy.ee.lbl.gov (8.10.0/8.10.0) id f2S8nr529885; - Wed, 28 Mar 2001 00:49:53 -0800 (PST) -Message-Id: <200103280849.f2S8nr529885@daffy.ee.lbl.gov> -To: "John W. Millaway" <johnmillaway@yahoo.com> -Cc: help-flex@gnu.org, wlestes@uncg.edu -Subject: Re: reentrant C scanner -In-reply-to: Your message of Tue, 27 Mar 2001 12:49:46 PST. -Date: Wed, 28 Mar 2001 00:49:53 PST -From: Vern Paxson <vern@ee.lbl.gov> - -*** EOOH *** -To: "John W. Millaway" <johnmillaway@yahoo.com> -Cc: help-flex@gnu.org, wlestes@uncg.edu -Subject: Re: reentrant C scanner -In-reply-to: Your message of Tue, 27 Mar 2001 12:49:46 PST. -Date: Wed, 28 Mar 2001 00:49:53 PST -From: Vern Paxson <vern@ee.lbl.gov> - -> I contacted you (or someone there at flex H.Q.) about modifying flex to generate a -> reentrant scanner. I found some time recently, and the modifications are nearly -> complete. It wasn't as bad as I had originally thought it would be. -> -> I have two questions for you: -> -> 1. What is the procedure for regression testing? -> 2. What is the procedure for merging my modifications with the current -> distribution? - -Both of these are not well defined at the moment. Will Estes (cc'd) has -volunteered to give taking over flex maintenance/development a try, and -we're right now in a preliminary period during which he's gauging whether -he'll indeed have the cycles for doing so. - - Vern - - -1,, -X-Coding-System: nil -Mail-from: From vern@daffy.ee.lbl.gov Thu Mar 29 18:05:46 2001 -Return-Path: <vern@daffy.ee.lbl.gov> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id SAA02631 - for <wlestes@localhost>; Thu, 29 Mar 2001 18:05:46 -0500 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Thu, 29 Mar 2001 18:05:46 -0500 (EST) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f2TMmHe28250 - for <wlestes@hermes.email.uncg.edu>; Thu, 29 Mar 2001 17:48:17 -0500 (EST) -Received: from daffy.ee.lbl.gov (daffy.ee.lbl.gov [131.243.1.31]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id RAA02561 - for <wlestes@uncg.edu>; Thu, 29 Mar 2001 17:48:16 -0500 (EST) -Received: (from vern@localhost) - by daffy.ee.lbl.gov (8.10.0/8.10.0) id f2TMmCD10050; - Thu, 29 Mar 2001 14:48:12 -0800 (PST) -Message-Id: <200103292248.f2TMmCD10050@daffy.ee.lbl.gov> -To: John Tupper <john_tupper@tenornetworks.com> -Subject: Re: flex bug -Cc: wlestes@uncg.edu -In-reply-to: Your message of Thu, 29 Mar 2001 13:52:38 PST. -Date: Thu, 29 Mar 2001 14:48:12 PST -From: Vern Paxson <vern@ee.lbl.gov> - -*** EOOH *** -To: John Tupper <john_tupper@tenornetworks.com> -Subject: Re: flex bug -Cc: wlestes@uncg.edu -In-reply-to: Your message of Thu, 29 Mar 2001 13:52:38 PST. -Date: Thu, 29 Mar 2001 14:48:12 PST -From: Vern Paxson <vern@ee.lbl.gov> - -Argh, yes, you're right. This is (mis)feature interaction between -%option yylineno and trailing context. - -I've cc'd Will Estes, who is trying out taking over flex maintenance / -development. Will, I think the place to fix this is in finish_rule() in -nfa.c, making it generate extra code to loop through the characters being -put back and decrement yylineno accordingly. - - Vern - - -> -> --------------DC4CBAA5BA86BA0906373DD6 -> Content-Type: text/plain; charset=us-ascii -> Content-Transfer-Encoding: 7bit -> -> Vern, -> Are you the right person to send this to? It's a groaner. . . -> -> If you define a rule with a trailing context and the trailing context -> matches a newline, the newline gets counted twice (in yylineno), once in -> the trailing context and once when its matched for real. -> -> Sample grammer: -> -> \/\* { begin(Comment); } -> <Comment>\*/[^/] { ; /* this rule is problematic */ } -> <Comment>[^\*]+ { ; } -> <Comment>\*\/ { begin(0); } -> -> The above grammer strips out C style comments. If a comment contains a -> star at the end of a line, yylineno gets incremented twice. -> -> We used the obvious work around by adding a seperate rule to explicitly -> match *\n without any trailing context, so we're not waiting for a fix. -> -> Oh yeah, we're using version 2.5.4. -> -> Thanks, -> John Tupper -> (john_tupper@tenornetworks.com) -> -> -> --------------DC4CBAA5BA86BA0906373DD6 -> Content-Type: text/html; charset=us-ascii -> Content-Transfer-Encoding: 7bit -> -> <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -> <html> -> Vern, -> <br> Are you the right person to send this to? It's a groaner. -> . . -> <p>If you define a rule with a trailing context and the trailing context -> matches a newline, the newline gets counted twice (in yylineno), once in -> the trailing context and once when its matched for real. -> <p>Sample grammer: -> <p><tt>\/\* -> { begin(Comment); }</tt> -> <br><tt><Comment>\*/[^/] { ; /* this rule is problematic -> */ }</tt> -> <br><tt><Comment>[^\*]+ { ; }</tt> -> <br><tt><Comment>\*\/ { begin(0); }</tt> -> <p>The above grammer strips out C style comments. If a comment contains -> a star at the end of a line, yylineno gets incremented twice. -> <p>We used the obvious work around by adding a seperate rule to explicitly -> match *\n without any trailing context, so we're not waiting for a fix. -> <p>Oh yeah, we're using version 2.5.4. -> <p>Thanks, -> <br>John Tupper -> <br>(john_tupper@tenornetworks.com) -> <br> </html> -> -> --------------DC4CBAA5BA86BA0906373DD6-- -> - - -1, answered,, -X-Coding-System: nil -Mail-from: From johnmillaway@yahoo.com Sun Apr 8 18:10:46 2001 -Return-Path: <johnmillaway@yahoo.com> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id SAA06099 - for <wlestes@localhost>; Sun, 8 Apr 2001 18:10:46 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Sun, 08 Apr 2001 18:10:46 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f38Lr7e10030 - for <wlestes@hermes.email.uncg.edu>; Sun, 8 Apr 2001 17:53:07 -0400 (EDT) -Received: from web9407.mail.yahoo.com (web9407.mail.yahoo.com [216.136.129.23]) - by external-gw.uncg.edu (8.9.3/8.9.3) with SMTP id RAA28292 - for <wlestes@uncg.edu>; Sun, 8 Apr 2001 17:53:05 -0400 (EDT) -Message-ID: <20010408215303.56462.qmail@web9407.mail.yahoo.com> -Received: from [216.254.82.102] by web9407.mail.yahoo.com; Sun, 08 Apr 2001 14:53:03 PDT -Date: Sun, 8 Apr 2001 14:53:03 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: reentrant C scanner -To: "W. L. Estes" <wlestes@uncg.edu> -In-Reply-To: <200104082000.QAA05847@michael.uncg.edu> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii - -*** EOOH *** -Date: Sun, 8 Apr 2001 14:53:03 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: reentrant C scanner -To: "W. L. Estes" <wlestes@uncg.edu> -In-Reply-To: <200104082000.QAA05847@michael.uncg.edu> - -Hi, - -(Sorry it took a while, my DSL went down again.) - -Here is a link to the diff, because my browser (Opera) doesn't do file-uploads -properly. - -http://astro.temple.edu/~john43/flex_r.diff.gz - -I did not include a diff of skel.c, because it is built from flex.skl. I did a GNU -diff, instead of CVS diff, because I had already modified flex before importing it -into CVS... which means `cvs diff' won't work without some massaging. I'm no CVS -expert, let me know if you have a solution. - -This all works, but is not finished. I want to test it with as many scanners as I -can dig up. At some point, I'll submit a test directory and a "README.reenrant" as -well as a modification of the texinfo docs. - -Briefly, the changes are these: - -1. Added option "reentrant" (-R). -2. Added preprocessor directive: YY_REENTRANT. (and a few more related to this). -3. Added internal "struct yy_globals_t"; user-visible as "void*". -4. All global variables are conditionally eliminated and placed in the struct. -5. Nearly all functions conditionally take an additional argument. -6. yylex() is now yylex_r(void*) -7. All access to globals must be wrapped in YY_G() macro. -8. User may attach arbitrary data (void*) to the scanner, to maintain state. -9. New functions for using scanner: yy_init_r, yy_free_r; -10. Accessor functions to extract values from struct or globals. -11. Frequently accessed variables (yytext, yyleng, etc..) have macro shortcuts, -(yytext_r, yyleng_r, etc.) which hide the internals from users building reentrant -scanners. - --John Millaway - - -__________________________________________________ -Do You Yahoo!? -Get email at your own domain with Yahoo! Mail. -http://personal.mail.yahoo.com/ - - -1,, -X-Coding-System: nil -Mail-from: From johnmillaway@yahoo.com Sun Apr 8 19:16:58 2001 -Return-Path: <johnmillaway@yahoo.com> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id TAA06140 - for <wlestes@localhost>; Sun, 8 Apr 2001 19:16:58 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Sun, 08 Apr 2001 19:16:58 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f38MwXe18411 - for <wlestes@hermes.email.uncg.edu>; Sun, 8 Apr 2001 18:58:33 -0400 (EDT) -Received: from web9402.mail.yahoo.com (web9402.mail.yahoo.com [216.136.129.108]) - by external-gw.uncg.edu (8.9.3/8.9.3) with SMTP id SAA01092 - for <wlestes@uncg.edu>; Sun, 8 Apr 2001 18:58:32 -0400 (EDT) -Message-ID: <20010408225832.81903.qmail@web9402.mail.yahoo.com> -Received: from [216.254.82.102] by web9402.mail.yahoo.com; Sun, 08 Apr 2001 15:58:32 PDT -Date: Sun, 8 Apr 2001 15:58:32 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: reentrant C scanner -To: "W. L. Estes" <wlestes@uncg.edu> -In-Reply-To: <200104082224.SAA06112@michael.uncg.edu> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii - -*** EOOH *** -Date: Sun, 8 Apr 2001 15:58:32 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: reentrant C scanner -To: "W. L. Estes" <wlestes@uncg.edu> -In-Reply-To: <200104082224.SAA06112@michael.uncg.edu> - -> have downloaded this and will set aside time to read your patch this -> week. -Please download again, I fixed another bug. - -> > I did not include a diff of skel.c, because it is built from flex.skl. I did a -> GNU> -> ok. will remember this... - -Just do `./mkskel.sh <flex.skl >skel.c` to rebuild it. - -> tag your current sources. -> import the standard sources and give them another tag/branch name. -> do a cvs diff explicitly between the two above. - -Will do. - - -> that's the gut reaction. let me know if that works or if you have -> troubles. But I need to prepare a publicly readable cvs archive anyway. - -Have you thought about sourceforge? - -> the scanner stuff is finished, yes? (sure, there will be bugs and -> things to work out, but i am asking if the reentrant stuff is in place.) -Yes, finished. But the changes were so widespread and there are so many options and -directives that I'm sure something will break very soon. That's why a -regression-test directory would be nice. - -> Go ahead and write the README. This is a good exercise--and usually -> fairly easy to knock off. It can serve as a guide later on down the -> road. -OK. - -> To clarify, reentrant should probably not be a default behavior for -> now. -It is not. In fact, yacc/bison parsers won't call yylex_r()... something I'll work -on later. - - -> If it's ok with you, I'm going to forward your post on to -> help-flex@gnu.org so the "community" can dig in too. - -Great. Please include my email address. - -Also, the community should really decide on the new API. I am wide open to -suggestions. Currently, the new API allows a lexer to be backwards compatible, so -that a working reentrant scanner should be able to be recompiled as a non-reentrant -scanner, and everything will work just dandy on the inside. However, the syntax is -not so pretty for the user. On the other hand, a reentrant scanner that is not -meant to be backwards compatible has a cleaner API (fewer oddball macros). - -An example to illustrate: - -%option reentrant -%s FOOBAR - -%% - - /* The line in each pair below do the same thing. - But second of each pair is backwards-compatible. */ - -"call-func" { yy_push_state ( FOOBAR , yy_globals ); } -"call-func" { yy_push_state ( FOOBAR YYCALL_LAST_ARG ); } - -"user-data" { printf( (char*) yyusr_r );} -"user-data" { printf( (char*) yy_get_usr(YYCALL_ONLY_ARG));} - -"yyleng" { printf( "%s %d" , yy_text_r, yyleng_r ); } -"yyleng" { printf( "%s %d" , YY_G(yy_text), YY_G(yyleng)); } - -%% -main() -{ - char* stuff = "user specific data."; - void * mylexer; - - yy_init_r ( & mylexer ); /* Create the scanner. */ - yy_set_usr( stuff, mylexer ); /* set user-defined stuff. */ - - while( 1 ) - yylex_r ( lexer ); - - yy_free_r ( lexer ); -} - --John Millaway - - -__________________________________________________ -Do You Yahoo!? -Get email at your own domain with Yahoo! Mail. -http://personal.mail.yahoo.com/ - - -1,, -X-Coding-System: nil -Mail-from: From johnmillaway@yahoo.com Sun Apr 8 20:12:39 2001 -Return-Path: <johnmillaway@yahoo.com> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id UAA06162 - for <wlestes@localhost>; Sun, 8 Apr 2001 20:12:39 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Sun, 08 Apr 2001 20:12:39 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f38NsQe25613 - for <wlestes@hermes.email.uncg.edu>; Sun, 8 Apr 2001 19:54:26 -0400 (EDT) -Received: from web9406.mail.yahoo.com (web9406.mail.yahoo.com [216.136.129.22]) - by external-gw.uncg.edu (8.9.3/8.9.3) with SMTP id TAA03391 - for <wlestes@uncg.edu>; Sun, 8 Apr 2001 19:54:24 -0400 (EDT) -Message-ID: <20010408235423.12509.qmail@web9406.mail.yahoo.com> -Received: from [216.254.82.102] by web9406.mail.yahoo.com; Sun, 08 Apr 2001 16:54:23 PDT -Date: Sun, 8 Apr 2001 16:54:23 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: reentrant C scanner -To: "W. L. Estes" <wlestes@uncg.edu> -In-Reply-To: <200104082224.SAA06112@michael.uncg.edu> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii - -*** EOOH *** -Date: Sun, 8 Apr 2001 16:54:23 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: reentrant C scanner -To: "W. L. Estes" <wlestes@uncg.edu> -In-Reply-To: <200104082224.SAA06112@michael.uncg.edu> - -I'm sure you haven't had time to look at it yet, but there are two other points I -wanted to mention: - -1. Once the reentrant scanner is working, there is no need for the non-reentrant -scanner. The non-reentrant API can be built as a wrapper around the reentrant -scanner. Much, much less code maintenance. I will happily do the conversion. - -2. The reentrancy can be verified, in part, by running `nm -A -l' on a compiled -scanner. `nm` is part of binutils and shows, among other things, the global -variables. In the reentrant scanner, there should be none. - --John Millaway - -PS - What is the mailing list? I guess I should subscribe! The gnu site says that -there is currently no list for flex: -http://www.gnu.org/software/flex/flex.html#lists - - -__________________________________________________ -Do You Yahoo!? -Get email at your own domain with Yahoo! Mail. -http://personal.mail.yahoo.com/ - - -1, answered,, -X-Coding-System: nil -Mail-from: From vern@daffy.ee.lbl.gov Tue Apr 17 04:00:22 2001 -Return-Path: <vern@daffy.ee.lbl.gov> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id EAA31012 - for <wlestes@localhost>; Tue, 17 Apr 2001 04:00:21 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Tue, 17 Apr 2001 04:00:21 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f3H7eqe08321 - for <wlestes@hermes.email.uncg.edu>; Tue, 17 Apr 2001 03:40:52 -0400 (EDT) -Received: from daffy.ee.lbl.gov (daffy.ee.lbl.gov [131.243.1.31]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id DAA08895 - for <wlestes@uncg.edu>; Tue, 17 Apr 2001 03:40:50 -0400 (EDT) -Received: (from vern@localhost) - by daffy.ee.lbl.gov (8.10.0/8.10.0) id f3H7eoW18946; - Tue, 17 Apr 2001 00:40:50 -0700 (PDT) -Message-Id: <200104170740.f3H7eoW18946@daffy.ee.lbl.gov> -To: "Yuri Victorovich" <yurivict@hotmail.com> -Subject: Re: Flex comments -Cc: wlestes@uncg.edu -In-reply-to: Your message of Sun, 15 Apr 2001 22:47:37 PDT. -Date: Tue, 17 Apr 2001 00:40:50 PDT -From: Vern Paxson <vern@ee.lbl.gov> - -*** EOOH *** -To: "Yuri Victorovich" <yurivict@hotmail.com> -Subject: Re: Flex comments -Cc: wlestes@uncg.edu -In-reply-to: Your message of Sun, 15 Apr 2001 22:47:37 PDT. -Date: Tue, 17 Apr 2001 00:40:50 PDT -From: Vern Paxson <vern@ee.lbl.gov> - -> One problem: how to eliminate the static variables without making it C++ -> scanner with option -+? I do not want to introduce any of C++ into my -> project and at the same time I use pthreads on FreeBSD. -> -> That would be a nice feature to have such an option. - -I agree it would be nice. I've cc'd Will Estes, who is trying out taking -over flex maintenance / development. - - Vern - - -1, answered,, -X-Coding-System: nil -Mail-from: From yurivict@hotmail.com Tue Apr 17 10:42:56 2001 -Return-Path: <yurivict@hotmail.com> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id KAA01266 - for <wlestes@localhost>; Tue, 17 Apr 2001 10:42:56 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Tue, 17 Apr 2001 10:42:56 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f3HENMe01358 - for <wlestes@hermes.email.uncg.edu>; Tue, 17 Apr 2001 10:23:22 -0400 (EDT) -Received: from hotmail.com (f210.law12.hotmail.com [64.4.19.210]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id KAA06325 - for <wlestes@uncg.edu>; Tue, 17 Apr 2001 10:23:21 -0400 (EDT) -Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; - Tue, 17 Apr 2001 07:22:51 -0700 -Received: from 194.158.212.99 by lw12fd.law12.hotmail.msn.com with HTTP; Tue, 17 Apr 2001 14:22:51 GMT -X-Originating-IP: [194.158.212.99] -From: "Yuri Victorovich" <yurivict@hotmail.com> -To: wlestes@uncg.edu -Subject: Re: Flex comments -Date: Tue, 17 Apr 2001 07:22:51 -0700 -Mime-Version: 1.0 -Content-Type: text/plain; format=flowed -Message-ID: <F210b98KtdhQYZkxOjm00009556@hotmail.com> -X-OriginalArrivalTime: 17 Apr 2001 14:22:51.0694 (UTC) FILETIME=[E2BCD4E0:01C0C749] - -*** EOOH *** -From: "Yuri Victorovich" <yurivict@hotmail.com> -To: wlestes@uncg.edu -Subject: Re: Flex comments -Date: Tue, 17 Apr 2001 07:22:51 -0700 - -Will, Thank you for reply! - -I spent the whole day yesterday writing awk script to -convert normal flex output to thread-safe form. - -If you do not have time or will need help with this -work on flex -- I can do anything from research, programming -to testing. Just let me know -- I digged into it to some -extent already and will have some time in the coming weeks. - -Kind Regards, -Yuri. - - - - - ->From: "W. L. Estes" <wlestes@uncg.edu> ->To: vern@ee.lbl.gov ->CC: yurivict@hotmail.com ->Subject: Re: Flex comments ->Date: Tue, 17 Apr 2001 08:33:35 -0400 -> -> > > One problem: how to eliminate the static variables without making it ->C++ -> > > scanner with option -+? I do not want to introduce any of C++ into my -> > > project and at the same time I use pthreads on FreeBSD. -> > > -> > > That would be a nice feature to have such an option. -> > -> > I agree it would be nice. I've cc'd Will Estes, who is trying out ->taking -> > over flex maintenance / development. -> ->Thanks for the suggestion. I'll look into what it will take to do ->this. -> ->--Will - -_________________________________________________________________ -Get your FREE download of MSN Explorer at http://explorer.msn.com - - -1, answered,, -X-Coding-System: nil -Mail-from: From vern@daffy.ee.lbl.gov Tue Apr 17 12:34:26 2001 -Return-Path: <vern@daffy.ee.lbl.gov> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id MAA01409 - for <wlestes@localhost>; Tue, 17 Apr 2001 12:34:26 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Tue, 17 Apr 2001 12:34:26 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f3HGFpe27457 - for <wlestes@hermes.email.uncg.edu>; Tue, 17 Apr 2001 12:15:51 -0400 (EDT) -Received: from daffy.ee.lbl.gov (daffy.ee.lbl.gov [131.243.1.31]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id MAA20041 - for <wlestes@uncg.edu>; Tue, 17 Apr 2001 12:15:49 -0400 (EDT) -Received: (from vern@localhost) - by daffy.ee.lbl.gov (8.10.0/8.10.0) id f3HGFoP19785; - Tue, 17 Apr 2001 09:15:50 -0700 (PDT) -Message-Id: <200104171615.f3HGFoP19785@daffy.ee.lbl.gov> -To: "W. L. Estes" <wlestes@uncg.edu> -Subject: Re: Flex comments -In-reply-to: Your message of Tue, 17 Apr 2001 08:57:41 PDT. -Date: Tue, 17 Apr 2001 09:15:50 PDT -From: Vern Paxson <vern@ee.lbl.gov> - -*** EOOH *** -To: "W. L. Estes" <wlestes@uncg.edu> -Subject: Re: Flex comments -In-reply-to: Your message of Tue, 17 Apr 2001 08:57:41 PDT. -Date: Tue, 17 Apr 2001 09:15:50 PDT -From: Vern Paxson <vern@ee.lbl.gov> - -> If there is more detail in the original message, could you forward it -> to me? - -That was the whole message. The basic problem that people run into -is they want reentrant scanners, so no statics or global variables. -The general strategy for this is to have a new yylex() interface in -which the caller passes in a struct that has all of the otherwise-global -variables. This is a bit tricky to do cleanly because you can't switch -to that as *the* interface, of course, because it would break the -existing API; which means you have to be able to generate two forms of -the skeleton file, one for the existing API with the statics/globals, -and one without them and the struct definition instead. - -There's probably some more discussion on this in the mail tarball I sent -you - search for "reentrant". - - Vern - - -1,, -X-Coding-System: nil -Mail-from: From help-flex-admin@gnu.org Wed Apr 25 00:20:40 2001 -Return-Path: <help-flex-admin@gnu.org> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id AAA22703 - for <wlestes@localhost>; Wed, 25 Apr 2001 00:20:40 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Wed, 25 Apr 2001 00:20:40 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f3P403e01034 - for <wlestes@hermes.email.uncg.edu>; Wed, 25 Apr 2001 00:00:03 -0400 (EDT) -Received: from fencepost.gnu.org (we-refuse-to-spy-on-our-users@fencepost.gnu.org [199.232.76.164]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id AAA05202 - for <wlestes@uncg.edu>; Wed, 25 Apr 2001 00:00:02 -0400 (EDT) -Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 14sGTC-0006Tm-00 - for <wlestes@uncg.edu>; Wed, 25 Apr 2001 00:00:02 -0400 -Received: from [203.199.199.50] (helo=banyannetworks.com) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 14sGRt-0006Sr-00 - for <help-flex@gnu.org>; Tue, 24 Apr 2001 23:58:44 -0400 -Received: from localhost (arasi@localhost) by banyannetworks.com (8.9.3/8.8.3) with ESMTP id JAA03208 for <help-flex@gnu.org>; Wed, 25 Apr 2001 09:25:36 +0530 -From: Avai Arasi <arasi@banyanNetworks.com> -To: help-flex@gnu.org -Subject: Clarification Regarding Porting Flex and Bison to RTOS -Message-ID: <Pine.LNX.4.10.10104250920140.3092-100000@banyannetworks.com> -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII -Sender: help-flex-admin@gnu.org -Errors-To: help-flex-admin@gnu.org -X-BeenThere: help-flex@gnu.org -X-Mailman-Version: 2.0.3 -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Wed, 25 Apr 2001 09:25:36 +0530 (IST) - -*** EOOH *** -From: Avai Arasi <arasi@banyanNetworks.com> -To: help-flex@gnu.org -Subject: Clarification Regarding Porting Flex and Bison to RTOS -Sender: help-flex-admin@gnu.org -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Wed, 25 Apr 2001 09:25:36 +0530 (IST) - -Hello, - - I am trying to port both Flex and Bison to a Real Time OS. I don't have -the device options like the file which the Flex expects as input. In the -place of the file i have a character pointer. How should I proceed with -the parsing ? - - Is there any standard procedure for this porting ? If somebody has -already done such a work can i have some hints please. - -Thank You. - -Regards, -Avaiarasi -Senior Engineer R & D -Banyan Networks Pvt. Ltd. -Chennai. - - -_______________________________________________ -Help-flex mailing list -Help-flex@gnu.org -http://mail.gnu.org/mailman/listinfo/help-flex - - -1,, -X-Coding-System: nil -Mail-from: From help-flex-admin@gnu.org Wed Apr 25 13:17:31 2001 -Return-Path: <help-flex-admin@gnu.org> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id NAA23790 - for <wlestes@localhost>; Wed, 25 Apr 2001 13:17:31 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Wed, 25 Apr 2001 13:17:31 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f3PGv2e04258 - for <wlestes@hermes.email.uncg.edu>; Wed, 25 Apr 2001 12:57:02 -0400 (EDT) -Received: from fencepost.gnu.org (fencepost.gnu.org [199.232.76.164]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id MAA11157 - for <wlestes@uncg.edu>; Wed, 25 Apr 2001 12:57:01 -0400 (EDT) -Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 14sSb8-00056g-00 - for <wlestes@uncg.edu>; Wed, 25 Apr 2001 12:57:02 -0400 -Received: from web9403.mail.yahoo.com ([216.136.129.109]) - by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) - id 14sSYq-00053W-00 - for <help-flex@gnu.org>; Wed, 25 Apr 2001 12:54:41 -0400 -Message-ID: <20010425165439.64856.qmail@web9403.mail.yahoo.com> -Received: from [216.254.82.102] by web9403.mail.yahoo.com; Wed, 25 Apr 2001 09:54:39 PDT -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Bug: %option main overrides %option yywrap -To: help-flex@gnu.org -In-Reply-To: <200104251228.IAA23213@michael.uncg.edu> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Sender: help-flex-admin@gnu.org -Errors-To: help-flex-admin@gnu.org -X-BeenThere: help-flex@gnu.org -X-Mailman-Version: 2.0.3 -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Wed, 25 Apr 2001 09:54:39 -0700 (PDT) - -*** EOOH *** -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Bug: %option main overrides %option yywrap -To: help-flex@gnu.org -In-Reply-To: <200104251228.IAA23213@michael.uncg.edu> -Sender: help-flex-admin@gnu.org -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Wed, 25 Apr 2001 09:54:39 -0700 (PDT) - -Hello, - -There is a "bug" in the current version of flex (2.5.4) in which the %option -[no]main unconditionally sets the %option [no]yywrap. I use the term "bug" -hesitantly, because this behavior appears to be intentional. However, I can't think -of any use for it other than to cause unexpected link errors when yywrap() is not -found. - -Example: - - %option noyywrap /* Disable option yywrap. */ - %option nomain /* Option yywrap is now enabled! */ - -One workaround is to always specify %option yywrap AFTER %option main. In general, -if the user explicitly sets an option, then flex should either honor that setting, -or report a conflict. - -The bug is in "scan.l" at line 247, and is undocumented. - -244: lex-compat lex_compat = option_sense; -245: main { -246: action_define( "YY_MAIN", option_sense ); -247: do_yywrap = ! option_sense; -248: } -249: meta-ecs usemecs = option_sense; - --John Millaway - - -__________________________________________________ -Do You Yahoo!? -Yahoo! Auctions - buy the things you want at great prices -http://auctions.yahoo.com/ - -_______________________________________________ -Help-flex mailing list -Help-flex@gnu.org -http://mail.gnu.org/mailman/listinfo/help-flex - - -1,, -X-Coding-System: nil -Mail-from: From help-flex-admin@gnu.org Wed Apr 25 14:11:45 2001 -Return-Path: <help-flex-admin@gnu.org> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id OAA23826 - for <wlestes@localhost>; Wed, 25 Apr 2001 14:11:44 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Wed, 25 Apr 2001 14:11:44 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f3PHp7e27019 - for <wlestes@hermes.email.uncg.edu>; Wed, 25 Apr 2001 13:51:07 -0400 (EDT) -Received: from fencepost.gnu.org (fencepost.gnu.org [199.232.76.164]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id NAA17880 - for <wlestes@uncg.edu>; Wed, 25 Apr 2001 13:51:08 -0400 (EDT) -Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 14sTRT-0003QA-00 - for <wlestes@uncg.edu>; Wed, 25 Apr 2001 13:51:07 -0400 -Received: from web9404.mail.yahoo.com ([216.136.129.110]) - by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) - id 14sTQy-0003Pm-00 - for <help-flex@gnu.org>; Wed, 25 Apr 2001 13:50:36 -0400 -Message-ID: <20010425175036.43329.qmail@web9404.mail.yahoo.com> -Received: from [216.254.82.102] by web9404.mail.yahoo.com; Wed, 25 Apr 2001 10:50:36 PDT -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: scaning from memory -To: "alexandre.gouraud" <alexandre.gouraud@laposte.net>, help-flex@gnu.org -In-Reply-To: <GCCZ8R$IiFF_2Id0FNAO2kAXNPACqX5slPk_GQyEsHVyKKjYXVpqFi3j4Ntc@laposte.net> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Sender: help-flex-admin@gnu.org -Errors-To: help-flex-admin@gnu.org -X-BeenThere: help-flex@gnu.org -X-Mailman-Version: 2.0.3 -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Wed, 25 Apr 2001 10:50:36 -0700 (PDT) - -*** EOOH *** -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: scaning from memory -To: "alexandre.gouraud" <alexandre.gouraud@laposte.net>, help-flex@gnu.org -In-Reply-To: <GCCZ8R$IiFF_2Id0FNAO2kAXNPACqX5slPk_GQyEsHVyKKjYXVpqFi3j4Ntc@laposte.net> -Sender: help-flex-admin@gnu.org -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Wed, 25 Apr 2001 10:50:36 -0700 (PDT) - -> I am trying to write a parser with flex/bison scaning strings -> in memory, but I can't make it work. I am pretty sure it's a -> common way of using flex, but I didn't find any example on the -> web. (I have read the manual, of course). I have found several -> times this question, but no answer. -> I don't know where to put the yy_scan_string() statement. I -> use the <<EOF>> rule as last rule. And I have also modified -> the prototype of the yylex function with -> #define YY_DECL int yylex(YYSTYPE *lvalp,char *name) -> where name is the string I want to parse. - -You should call yy_scan_string before calling yylex. Here are two examples: - -1. In general: - - YY_BUFFER_STATE buf_state = yy_scan_string( str ); - while( yylex() != 0 ) - ; - yy_delete_buffer(buf_state); - - -2. Your particular scanner: - -%{ -#define YY_USER_INIT buf_state = yy_scan_string( name ); -%} -%% - static YY_BUFFER_STATE buf_state; - -<<EOF>> { yy_buffer_delete( buf_state ); yyterminate(); } -%% - --John - - -__________________________________________________ -Do You Yahoo!? -Yahoo! Auctions - buy the things you want at great prices -http://auctions.yahoo.com/ - -_______________________________________________ -Help-flex mailing list -Help-flex@gnu.org -http://mail.gnu.org/mailman/listinfo/help-flex - - -1,, -X-Coding-System: nil -Mail-from: From help-flex-admin@gnu.org Wed Apr 25 14:41:58 2001 -Return-Path: <help-flex-admin@gnu.org> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id OAA23852 - for <wlestes@localhost>; Wed, 25 Apr 2001 14:41:58 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Wed, 25 Apr 2001 14:41:58 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f3PILLe10211 - for <wlestes@hermes.email.uncg.edu>; Wed, 25 Apr 2001 14:21:21 -0400 (EDT) -Received: from fencepost.gnu.org (fencepost.gnu.org [199.232.76.164]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id OAA21692 - for <wlestes@uncg.edu>; Wed, 25 Apr 2001 14:21:21 -0400 (EDT) -Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 14sTuj-0007Yw-00 - for <wlestes@uncg.edu>; Wed, 25 Apr 2001 14:21:21 -0400 -Received: from daffy.ee.lbl.gov ([131.243.1.31]) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 14sTtm-0007Xg-00 - for <help-flex@gnu.org>; Wed, 25 Apr 2001 14:20:22 -0400 -Received: (from vern@localhost) - by daffy.ee.lbl.gov (8.10.0/8.10.0) id f3PIKJa19998; - Wed, 25 Apr 2001 11:20:19 -0700 (PDT) -Message-Id: <200104251820.f3PIKJa19998@daffy.ee.lbl.gov> -To: "John W. Millaway" <johnmillaway@yahoo.com> -Cc: help-flex@gnu.org -Subject: Re: Bug: %option main overrides %option yywrap -In-reply-to: Your message of Wed, 25 Apr 2001 09:54:39 PDT. -From: Vern Paxson <vern@ee.lbl.gov> -Sender: help-flex-admin@gnu.org -Errors-To: help-flex-admin@gnu.org -X-BeenThere: help-flex@gnu.org -X-Mailman-Version: 2.0.3 -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Wed, 25 Apr 2001 11:20:19 PDT - -*** EOOH *** -To: "John W. Millaway" <johnmillaway@yahoo.com> -Cc: help-flex@gnu.org -Subject: Re: Bug: %option main overrides %option yywrap -In-reply-to: Your message of Wed, 25 Apr 2001 09:54:39 PDT. -From: Vern Paxson <vern@ee.lbl.gov> -Sender: help-flex-admin@gnu.org -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Wed, 25 Apr 2001 11:20:19 PDT - -> 245: main { -> 246: action_define( "YY_MAIN", option_sense ); -> 247: do_yywrap = ! option_sense; -> 248: } - -I think I did that (which is documented in the manual, by the way) so that -"%option main" would be a quick way to specify you want a bare-bones -program for which you don't have to define any additional routines. -I'd be disinclined to change it (though it's Will's call) because it's -so easy to work around - just don't use "%option main", which is only -saving you a few lines of code anyway. - - Vern - -_______________________________________________ -Help-flex mailing list -Help-flex@gnu.org -http://mail.gnu.org/mailman/listinfo/help-flex - - -1,, -X-Coding-System: nil -Mail-from: From help-flex-admin@gnu.org Wed Apr 25 16:28:59 2001 -Return-Path: <help-flex-admin@gnu.org> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id QAA23955 - for <wlestes@localhost>; Wed, 25 Apr 2001 16:28:59 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Wed, 25 Apr 2001 16:28:59 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f3PK99e25951 - for <wlestes@hermes.email.uncg.edu>; Wed, 25 Apr 2001 16:09:09 -0400 (EDT) -Received: from fencepost.gnu.org (fencepost.gnu.org [199.232.76.164]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id QAA05277 - for <wlestes@uncg.edu>; Wed, 25 Apr 2001 16:09:08 -0400 (EDT) -Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 14sVb1-0005jV-00 - for <wlestes@uncg.edu>; Wed, 25 Apr 2001 16:09:07 -0400 -Received: from michael.uncg.edu ([152.13.5.20]) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 14sVaJ-0005iu-00 - for <help-flex@gnu.org>; Wed, 25 Apr 2001 16:08:23 -0400 -Received: (from wlestes@localhost) - by michael.uncg.edu (8.9.3/8.9.3) id QAA23947; - Wed, 25 Apr 2001 16:27:46 -0400 -Message-Id: <200104252027.QAA23947@michael.uncg.edu> -X-Authentication-Warning: michael.uncg.edu: wlestes set sender to wlestes@michael.uncg.edu using -f -From: "W. L. Estes" <wlestes@uncg.edu> -To: vern@ee.lbl.gov -CC: johnmillaway@yahoo.com, help-flex@gnu.org -In-reply-to: <200104251820.f3PIKJa19998@daffy.ee.lbl.gov> (message from Vern - Paxson on Wed, 25 Apr 2001 11:20:19 PDT) -Subject: Re: Bug: %option main overrides %option yywrap -References: <200104251820.f3PIKJa19998@daffy.ee.lbl.gov> -Sender: help-flex-admin@gnu.org -Errors-To: help-flex-admin@gnu.org -X-BeenThere: help-flex@gnu.org -X-Mailman-Version: 2.0.3 -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Wed, 25 Apr 2001 16:27:46 -0400 - -*** EOOH *** -From: "W. L. Estes" <wlestes@uncg.edu> -To: vern@ee.lbl.gov -CC: johnmillaway@yahoo.com, help-flex@gnu.org -In-reply-to: <200104251820.f3PIKJa19998@daffy.ee.lbl.gov> (message from Vern - Paxson on Wed, 25 Apr 2001 11:20:19 PDT) -Subject: Re: Bug: %option main overrides %option yywrap -Sender: help-flex-admin@gnu.org -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Wed, 25 Apr 2001 16:27:46 -0400 - -> I think I did that (which is documented in the manual, by the way) so that -> "%option main" would be a quick way to specify you want a bare-bones -> program for which you don't have to define any additional routines. -> I'd be disinclined to change it (though it's Will's call) because it's -> so easy to work around - just don't use "%option main", which is only -> saving you a few lines of code anyway. - -Additionally, flex.1 says the following: - - main directs flex to provide a default main() program - for the scanner, which simply calls yylex(). This - option implies noyywrap (see below). - -My sense is that Vern is correct: The right thing to do is to not use -%option main if you want yywrap() to be under your control. - -Thanks, - ---Will - -_______________________________________________ -Help-flex mailing list -Help-flex@gnu.org -http://mail.gnu.org/mailman/listinfo/help-flex - - -1,, -X-Coding-System: nil -Mail-from: From help-flex-admin@gnu.org Thu Apr 26 12:11:23 2001 -Return-Path: <help-flex-admin@gnu.org> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id MAA25162 - for <wlestes@localhost>; Thu, 26 Apr 2001 12:11:22 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Thu, 26 Apr 2001 12:11:22 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f3QFp6e21203 - for <wlestes@hermes.email.uncg.edu>; Thu, 26 Apr 2001 11:51:06 -0400 (EDT) -Received: from fencepost.gnu.org (fencepost.gnu.org [199.232.76.164]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id LAA21348 - for <wlestes@uncg.edu>; Thu, 26 Apr 2001 11:51:05 -0400 (EDT) -Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 14so2r-00043k-00 - for <wlestes@uncg.edu>; Thu, 26 Apr 2001 11:51:05 -0400 -Received: from [208.155.173.144] (helo=symbology.com) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 14so2e-0003Dl-00 - for <help-flex@gnu.org>; Thu, 26 Apr 2001 11:50:53 -0400 -Received: from Spooler by symbology.com (Mercury/32 v3.21c) ID MO003737; - 26 Apr 01 10:52:43 -0500 -Received: from spooler by symbology.com (Mercury/32 v3.21c); 26 Apr 01 10:52:29 -0500 -Received: from grommit (10.0.0.74) by Symbology (Mercury/32 v3.21c) ID MG003736; - 26 Apr 01 10:52:22 -0500 -From: "Dave Dutcher" <ddutcher@symbology.com> -To: <help-flex@gnu.org> -Subject: Suppress copying characters to yytext? -Message-ID: <002501c0ce68$99b3ec40$4a00000a@symbology.com> -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Content-Transfer-Encoding: 7bit -X-Priority: 3 (Normal) -X-MSMail-Priority: Normal -X-Mailer: Microsoft Outlook CWS, Build 9.0.2416 (9.0.2910.0) -X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 -Importance: Normal -Sender: help-flex-admin@gnu.org -Errors-To: help-flex-admin@gnu.org -X-BeenThere: help-flex@gnu.org -X-Mailman-Version: 2.0.3 -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Thu, 26 Apr 2001 10:50:20 -0500 - -*** EOOH *** -From: "Dave Dutcher" <ddutcher@symbology.com> -To: <help-flex@gnu.org> -Subject: Suppress copying characters to yytext? -Importance: Normal -Sender: help-flex-admin@gnu.org -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Thu, 26 Apr 2001 10:50:20 -0500 - -Hi, - -First off I was wondering if there is an official web site for Flex? - -Second, I would like to be able to have Flex use certain characters in a -regular expression to match the expression but suppress copying the -characters to yytext. A simple example would be if I was trying to match -text surrounded by quotes, but I don't want to use the quotes. i.e. - -\"[^\n]\" { yylval = strdup(yytext); //This gives me the text and quotes. } - -or - -\"[^\n]\" { yylval = strdup(yytext+1); yylval[strlen(yylval)-1] = '\0'; -//Now I've removed the quotes. } - -But since I'm lazy ;) I would like to be able to tell Flex not to copy the -quotes. What I would like is an operator that would tell flex to match an -expression but to not copy it to yytext. Off the top of my head maybe the # -symbol could work for such an operator, so I could then do: - -\"#[^\n]\"# { yylval = strdup(yytext); //This would give me the text without -the quotes. } - -Does anyone know if such a feature or something similar exists? If this -doesn't exists would it be practical? - -Thanks, - -Dave Dutcher -Software Engineer -Symbology, Inc. -Minneapolis, MN - - -_______________________________________________ -Help-flex mailing list -Help-flex@gnu.org -http://mail.gnu.org/mailman/listinfo/help-flex - - -1,, -X-Coding-System: nil -Mail-from: From help-flex-admin@gnu.org Thu Apr 26 12:26:26 2001 -Return-Path: <help-flex-admin@gnu.org> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id MAA25203 - for <wlestes@localhost>; Thu, 26 Apr 2001 12:26:26 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Thu, 26 Apr 2001 12:26:26 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f3QG63e27511 - for <wlestes@hermes.email.uncg.edu>; Thu, 26 Apr 2001 12:06:03 -0400 (EDT) -Received: from fencepost.gnu.org (fencepost.gnu.org [199.232.76.164]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id MAA23192 - for <wlestes@uncg.edu>; Thu, 26 Apr 2001 12:06:02 -0400 (EDT) -Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 14soHK-0004gM-00 - for <wlestes@uncg.edu>; Thu, 26 Apr 2001 12:06:02 -0400 -Received: from acp3bf.physik.rwth-aachen.de ([137.226.32.75]) - by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) - id 14soFe-0004cw-00 - for <help-flex@gnu.org>; Thu, 26 Apr 2001 12:04:18 -0400 -Received: from localhost (broeker@localhost) by acp3bf.physik.rwth-aachen.de (8.7.5/v3.2) with ESMTP id SAA00797; Thu, 26 Apr 2001 18:04:09 +0200 -X-Authentication-Warning: acp3bf.physik.rwth-aachen.de: broeker owned process doing -bs -From: Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> -X-Sender: broeker@acp3bf -To: Dave Dutcher <ddutcher@symbology.com> -cc: help-flex@gnu.org -Subject: Re: Suppress copying characters to yytext? -In-Reply-To: <002501c0ce68$99b3ec40$4a00000a@symbology.com> -Message-ID: <Pine.LNX.4.10.10104261759540.592-100000@acp3bf> -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII -Sender: help-flex-admin@gnu.org -Errors-To: help-flex-admin@gnu.org -X-BeenThere: help-flex@gnu.org -X-Mailman-Version: 2.0.3 -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Thu, 26 Apr 2001 18:04:06 +0200 (MET DST) - -*** EOOH *** -From: Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de> -To: Dave Dutcher <ddutcher@symbology.com> -cc: help-flex@gnu.org -Subject: Re: Suppress copying characters to yytext? -In-Reply-To: <002501c0ce68$99b3ec40$4a00000a@symbology.com> -Sender: help-flex-admin@gnu.org -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Thu, 26 Apr 2001 18:04:06 +0200 (MET DST) - -On Thu, 26 Apr 2001, Dave Dutcher wrote: - -> Second, I would like to be able to have Flex use certain characters in a -> regular expression to match the expression but suppress copying the -> characters to yytext. - -You can do that with a start condition and trailing context rules. I.e. -roughly like this: - -<INITIAL>\" BEGIN(IN_STRING) - -<IN_STRING>[^\n]*/\" { - /* yytext is the interior of the string, now */ - BEGIN(INITIAL) - } - --- -Hans-Bernhard Broeker (broeker@physik.rwth-aachen.de) -Even if all the snow were burnt, ashes would remain. - - -_______________________________________________ -Help-flex mailing list -Help-flex@gnu.org -http://mail.gnu.org/mailman/listinfo/help-flex - - -1, answered,, -X-Coding-System: nil -Mail-from: From johnmillaway@yahoo.com Wed Apr 25 18:52:08 2001 -Return-Path: <johnmillaway@yahoo.com> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id SAA24103 - for <wlestes@localhost>; Wed, 25 Apr 2001 18:52:08 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Wed, 25 Apr 2001 18:52:08 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f3PMWQe07299 - for <wlestes@hermes.email.uncg.edu>; Wed, 25 Apr 2001 18:32:26 -0400 (EDT) -Received: from web9404.mail.yahoo.com (web9404.mail.yahoo.com [216.136.129.110]) - by external-gw.uncg.edu (8.9.3/8.9.3) with SMTP id SAA23019 - for <wlestes@uncg.edu>; Wed, 25 Apr 2001 18:32:24 -0400 (EDT) -Message-ID: <20010425223059.65780.qmail@web9404.mail.yahoo.com> -Received: from [216.254.82.102] by web9404.mail.yahoo.com; Wed, 25 Apr 2001 15:30:59 PDT -Date: Wed, 25 Apr 2001 15:30:59 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: Bug: %option main overrides %option yywrap -To: "W. L. Estes" <wlestes@uncg.edu>, vern@ee.lbl.gov -Cc: help-flex@gnu.org -In-Reply-To: <200104252027.QAA23947@michael.uncg.edu> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii - -*** EOOH *** -Date: Wed, 25 Apr 2001 15:30:59 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: Bug: %option main overrides %option yywrap -To: "W. L. Estes" <wlestes@uncg.edu>, vern@ee.lbl.gov -Cc: help-flex@gnu.org -In-Reply-To: <200104252027.QAA23947@michael.uncg.edu> - -> Additionally, flex.1 says the following: -> -> main directs flex to provide a default main() program -> for the scanner, which simply calls yylex(). This -> option implies noyywrap (see below). - -I understand, and it makes sense. Just be aware that the inverse of this rule is -also true -- %option nomain implies yywrap -- which makes much less sense. - -Of course, I only complain because it had me on one heck of a bug hunt. I had -specified %option noyywrap and %option nomain, yet the linker complained that it -couldn't find yywrap. I thought I had broken something! :) - --John - - -__________________________________________________ -Do You Yahoo!? -Yahoo! Auctions - buy the things you want at great prices -http://auctions.yahoo.com/ - - -1, answered,, -X-Coding-System: nil -Mail-from: From johnmillaway@yahoo.com Thu May 3 14:16:31 2001 -Return-Path: <johnmillaway@yahoo.com> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id OAA09489 - for <wlestes@localhost>; Thu, 3 May 2001 14:16:31 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Thu, 03 May 2001 14:16:31 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f43Hv6q26933 - for <wlestes@hermes.email.uncg.edu>; Thu, 3 May 2001 13:57:06 -0400 (EDT) -Received: from web9406.mail.yahoo.com (web9406.mail.yahoo.com [216.136.129.22]) - by external-gw.uncg.edu (8.9.3/8.9.3) with SMTP id NAA14179 - for <wlestes@uncg.edu>; Thu, 3 May 2001 13:57:04 -0400 (EDT) -Message-ID: <20010503175704.85520.qmail@web9406.mail.yahoo.com> -Received: from [155.247.207.90] by web9406.mail.yahoo.com; Thu, 03 May 2001 10:57:04 PDT -Date: Thu, 3 May 2001 10:57:04 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Reentrant flex - progress update. -To: "W. L. Estes" <wlestes@uncg.edu> -In-Reply-To: <200105011710.NAA02531@michael.uncg.edu> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii - -*** EOOH *** -Date: Thu, 3 May 2001 10:57:04 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Reentrant flex - progress update. -To: "W. L. Estes" <wlestes@uncg.edu> -In-Reply-To: <200105011710.NAA02531@michael.uncg.edu> - -Will, -Progress update: This week is finals week. I'll send the tarballs soon. - -I made another, very minor, adjustment a few days ago: The integer yylineno will -always be present in reentrant scanners, but only modified by flex if %option -yylineno is enabled. Many scanners I have seen and built will disable %option -yylineno, then declare an integer "lineno" to keep a line count anyway, (because -the man page warns about the performance penalty of %option yylineno.) This way, -reentrant flex provides support for users who wish to maintain their own linecount. - - /* just like 'wc -l' */ - %option reentrant noyylineno main - %% - yylineno_r = 1; - - \n yylineno_r++; - . { } - <<EOF>> printf( "%7d", yylineno_r); - -Another important note: As far as I know, none of my modifications should have any -effect on NON-reentrant scanners. In fact, I believe compiled scanners generated -with the previous version should be binary equivalent to non-reentrant scanners -generated with the new version. I have not verified this, but if they are not, then -I may have made an oversight. - --John Millaway - - -__________________________________________________ -Do You Yahoo!? -Yahoo! Auctions - buy the things you want at great prices -http://auctions.yahoo.com/ - - -1,, -X-Coding-System: nil -Mail-from: From help-flex-admin@gnu.org Fri May 4 14:36:27 2001 -Return-Path: <help-flex-admin@gnu.org> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id OAA13535 - for <wlestes@localhost>; Fri, 4 May 2001 14:36:27 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Fri, 04 May 2001 14:36:27 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f44II5q04369 - for <wlestes@hermes.email.uncg.edu>; Fri, 4 May 2001 14:18:05 -0400 (EDT) -Received: from fencepost.gnu.org (fencepost.gnu.org [199.232.76.164]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id OAA14696 - for <wlestes@uncg.edu>; Fri, 4 May 2001 14:18:04 -0400 (EDT) -Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 14vk9T-00065Q-00 - for <wlestes@uncg.edu>; Fri, 04 May 2001 14:18:03 -0400 -Received: from web9401.mail.yahoo.com ([216.136.129.107]) - by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) - id 14vk7I-0005Hj-00 - for <help-flex@gnu.org>; Fri, 04 May 2001 14:15:48 -0400 -Message-ID: <20010504181547.55844.qmail@web9401.mail.yahoo.com> -Received: from [155.247.207.90] by web9401.mail.yahoo.com; Fri, 04 May 2001 11:15:47 PDT -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Why is YY_BUF_SIZE not override-able? -To: help-flex@gnu.org -In-Reply-To: <20010430181855.46942.qmail@web9407.mail.yahoo.com> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Sender: help-flex-admin@gnu.org -Errors-To: help-flex-admin@gnu.org -X-BeenThere: help-flex@gnu.org -X-Mailman-Version: 2.0.3 -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Fri, 4 May 2001 11:15:47 -0700 (PDT) - -*** EOOH *** -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Why is YY_BUF_SIZE not override-able? -To: help-flex@gnu.org -In-Reply-To: <20010430181855.46942.qmail@web9407.mail.yahoo.com> -Sender: help-flex-admin@gnu.org -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Fri, 4 May 2001 11:15:47 -0700 (PDT) - -Hi, - -Most everything can be overridden by the user. However the size of the input -buffer, YY_BUF_SIZE, is fixed. Is there a reason why YY_BUF_SIZE can't be -overridden? - -Let's say I knew that all my tokens will match under 80 characters plus newlines, -plus nulls, plus flex-flags... I might decide to set YY_BUF_SIZE to 100. - --John - - -__________________________________________________ -Do You Yahoo!? -Yahoo! Auctions - buy the things you want at great prices -http://auctions.yahoo.com/ - -_______________________________________________ -Help-flex mailing list -Help-flex@gnu.org -http://mail.gnu.org/mailman/listinfo/help-flex - - -1, answered,, -X-Coding-System: nil -Mail-from: From johnmillaway@yahoo.com Fri May 4 15:44:19 2001 -Return-Path: <johnmillaway@yahoo.com> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id PAA13788 - for <wlestes@localhost>; Fri, 4 May 2001 15:44:19 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Fri, 04 May 2001 15:44:19 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f44JPXq26400 - for <wlestes@hermes.email.uncg.edu>; Fri, 4 May 2001 15:25:33 -0400 (EDT) -Received: from web9407.mail.yahoo.com (web9407.mail.yahoo.com [216.136.129.23]) - by external-gw.uncg.edu (8.9.3/8.9.3) with SMTP id PAA21302 - for <wlestes@uncg.edu>; Fri, 4 May 2001 15:25:31 -0400 (EDT) -Message-ID: <20010504192531.73966.qmail@web9407.mail.yahoo.com> -Received: from [155.247.207.90] by web9407.mail.yahoo.com; Fri, 04 May 2001 12:25:31 PDT -Date: Fri, 4 May 2001 12:25:31 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Reentrant flex - test results. -To: "W. L. Estes" <wlestes@uncg.edu> -In-Reply-To: <200105031914.PAA09683@michael.uncg.edu> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii - -*** EOOH *** -Date: Fri, 4 May 2001 12:25:31 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Reentrant flex - test results. -To: "W. L. Estes" <wlestes@uncg.edu> -In-Reply-To: <200105031914.PAA09683@michael.uncg.edu> - -My concerns are this: -1. The build relies on bison or yacc. Is this intentional? Why not include the -parse.c and parse.h in the dist? - -2. The TESTS/ "make check" stops at the first error. I'm thinking it may not be -what we want. The change is simple: Omit the "|| exit -1" part from the commands in -TESTS/Makefile.in. - -3. Since I'm not the autoconf guru, I couldn't find a cleaner way to do all the -tests. So I just used a /bin/sh loop in the TESTS/Makefile.in. - - - -__________________________________________________ -Do You Yahoo!? -Yahoo! Auctions - buy the things you want at great prices -http://auctions.yahoo.com/ - - -1,, -X-Coding-System: nil -Mail-from: From johnmillaway@yahoo.com Fri May 4 15:56:22 2001 -Return-Path: <johnmillaway@yahoo.com> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id PAA13813 - for <wlestes@localhost>; Fri, 4 May 2001 15:56:22 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Fri, 04 May 2001 15:56:22 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f44JbZq00252 - for <wlestes@hermes.email.uncg.edu>; Fri, 4 May 2001 15:37:35 -0400 (EDT) -Received: from web9406.mail.yahoo.com (web9406.mail.yahoo.com [216.136.129.22]) - by external-gw.uncg.edu (8.9.3/8.9.3) with SMTP id PAA22444 - for <wlestes@uncg.edu>; Fri, 4 May 2001 15:37:33 -0400 (EDT) -Message-ID: <20010504193731.93040.qmail@web9406.mail.yahoo.com> -Received: from [155.247.207.90] by web9406.mail.yahoo.com; Fri, 04 May 2001 12:37:31 PDT -Date: Fri, 4 May 2001 12:37:31 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: Reentrant flex - progress update. -To: "W. L. Estes" <wlestes@uncg.edu> -In-Reply-To: <200105041912.PAA13694@michael.uncg.edu> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii - -*** EOOH *** -Date: Fri, 4 May 2001 12:37:31 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: Reentrant flex - progress update. -To: "W. L. Estes" <wlestes@uncg.edu> -In-Reply-To: <200105041912.PAA13694@michael.uncg.edu> - -> Do you think your test suite is complete? or is it just reasonably -> thorough? (i.e. if someone thinks a feature isn't tested, should that -> be a bug?) - -No, it is by no means complete. Yes, missing feature tests are bugs of a sort. The -test suite was designed to cope with all the possible build configurations of a -generated scanner, while developing flex itself. I didn't want to modify or add one -feature, but break another. The breakage would easily go unnoticed. - ->From the top of my head, I didn't test %array, REJECT, and yy_set_bol, because I -plain forgot about them. I didn't test the C++ option because it is broken AFAIK. -All of the tests came in handy at one point or another during the past month, -though. - - -__________________________________________________ -Do You Yahoo!? -Yahoo! Auctions - buy the things you want at great prices -http://auctions.yahoo.com/ - - -1, answered,, -X-Coding-System: nil -Mail-from: From help-flex-admin@gnu.org Sat May 5 03:45:30 2001 -Return-Path: <help-flex-admin@gnu.org> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id DAA14343 - for <wlestes@localhost>; Sat, 5 May 2001 03:45:30 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Sat, 05 May 2001 03:45:30 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f457R2q28664 - for <wlestes@hermes.email.uncg.edu>; Sat, 5 May 2001 03:27:02 -0400 (EDT) -Received: from fencepost.gnu.org (we-refuse-to-spy-on-our-users@fencepost.gnu.org [199.232.76.164]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id DAA13852 - for <wlestes@uncg.edu>; Sat, 5 May 2001 03:27:02 -0400 (EDT) -Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 14vwT0-0007qN-00 - for <wlestes@uncg.edu>; Sat, 05 May 2001 03:27:02 -0400 -Received: from daffy.ee.lbl.gov ([131.243.1.31]) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 14vwQr-0007nj-00 - for <help-flex@gnu.org>; Sat, 05 May 2001 03:24:49 -0400 -Received: (from vern@localhost) - by daffy.ee.lbl.gov (8.10.0/8.10.0) id f457Ol523882; - Sat, 5 May 2001 00:24:47 -0700 (PDT) -Message-Id: <200105050724.f457Ol523882@daffy.ee.lbl.gov> -To: "John W. Millaway" <johnmillaway@yahoo.com> -Cc: help-flex@gnu.org -Subject: Re: Why is YY_BUF_SIZE not override-able? -In-reply-to: Your message of Fri, 04 May 2001 11:15:47 PDT. -From: Vern Paxson <vern@ee.lbl.gov> -Sender: help-flex-admin@gnu.org -Errors-To: help-flex-admin@gnu.org -X-BeenThere: help-flex@gnu.org -X-Mailman-Version: 2.0.3 -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Sat, 05 May 2001 00:24:46 PDT - -*** EOOH *** -To: "John W. Millaway" <johnmillaway@yahoo.com> -Cc: help-flex@gnu.org -Subject: Re: Why is YY_BUF_SIZE not override-able? -In-reply-to: Your message of Fri, 04 May 2001 11:15:47 PDT. -From: Vern Paxson <vern@ee.lbl.gov> -Sender: help-flex-admin@gnu.org -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Sat, 05 May 2001 00:24:46 PDT - -> Most everything can be overridden by the user. However the size of the input -> buffer, YY_BUF_SIZE, is fixed. Is there a reason why YY_BUF_SIZE can't be -> overridden? - -I don't remember offhand why I didn't make it redefinable, but note that -you can effect smaller buffer sizes using yy_create_buffer(). - - Vern - -_______________________________________________ -Help-flex mailing list -Help-flex@gnu.org -http://mail.gnu.org/mailman/listinfo/help-flex - - -1,, -X-Coding-System: nil -Mail-from: From help-flex-admin@gnu.org Mon May 21 05:59:38 2001 -Return-Path: <help-flex-admin@gnu.org> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id FAA13870 - for <wlestes@localhost>; Mon, 21 May 2001 05:59:38 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Mon, 21 May 2001 05:59:38 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f4L9d5q15741 - for <wlestes@hermes.email.uncg.edu>; Mon, 21 May 2001 05:39:05 -0400 (EDT) -Received: from fencepost.gnu.org (we-refuse-to-spy-on-our-users@fencepost.gnu.org [199.232.76.164]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id FAA22405 - for <wlestes@uncg.edu>; Mon, 21 May 2001 05:39:06 -0400 (EDT) -Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 151m9W-000616-00 - for <wlestes@uncg.edu>; Mon, 21 May 2001 05:39:02 -0400 -Received: from [202.54.26.202] (helo=hindon.hss.co.in) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 151m7z-0005xX-00 - for <help-flex@gnu.org>; Mon, 21 May 2001 05:37:27 -0400 -Received: from hsssun01.hss.hns.com (localhost [127.0.0.1]) - by hindon.hss.co.in (8.10.0/8.10.0) with ESMTP id f4L9cb501756 - for <help-flex@gnu.org>; Mon, 21 May 2001 15:08:38 +0530 (IST) -Received: from sampark.hss.hns.com (sampark [139.85.229.22]) - by hsssun01.hss.hns.com (8.10.0/8.10.0) with SMTP id f4L9kWY10057 - for <help-flex@gnu.org>; Mon, 21 May 2001 15:16:45 +0530 (IST) -Received: by sampark.hss.hns.com(Lotus SMTP MTA Internal build v4.6.2 (651.2 6-10-1998)) id 65256A53.0034A297 ; Mon, 21 May 2001 15:04:54 +0530 -X-Lotus-FromDomain: HSSBLR -From: kbinu@hss.hns.com -To: help-flex@gnu.org -cc: crajasri@hss.hns.com -Message-ID: <65256A53.0034A096.00@sampark.hss.hns.com> -Subject: Enhancements in flex for error handling -Mime-Version: 1.0 -Content-type: text/plain; charset=us-ascii -Content-Disposition: inline -Sender: help-flex-admin@gnu.org -Errors-To: help-flex-admin@gnu.org -X-BeenThere: help-flex@gnu.org -X-Mailman-Version: 2.0.3 -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Mon, 21 May 2001 14:55:56 +0530 - -*** EOOH *** -From: kbinu@hss.hns.com -To: help-flex@gnu.org -cc: crajasri@hss.hns.com -Subject: Enhancements in flex for error handling -Sender: help-flex-admin@gnu.org -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Mon, 21 May 2001 14:55:56 +0530 - - - - -Hi - We have been using flex generated scanners for a project. In our -application, we need to ensure that the application does not exit on system -errors including memory allocation failures. For errors that might occur -while the scanner allocates memory, we thought we would re-define -YY_FATAL_ERROR to something like -#define YY_FATAL_ERROR(x) return (error_indication=x, 0) -where error_indication is a global that I would check after the lexer -returns. This however is not feasible since YY_FATAL_ERROR is used in -functions called within yylex. Some of these do not return values. Also -yylex doesn't check if the called function encountered errors. -Is there any plan to enhance flex to return cleanly from yylex instead of -using exit() ? If not, any references on how to go about modifying the -skeleton scanner for this feature ? - --Binu - - - -_______________________________________________ -Help-flex mailing list -Help-flex@gnu.org -http://mail.gnu.org/mailman/listinfo/help-flex - - -1,, -X-Coding-System: nil -Mail-from: From help-flex-admin@gnu.org Mon May 21 12:35:41 2001 -Return-Path: <help-flex-admin@gnu.org> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id MAA14455 - for <wlestes@localhost>; Mon, 21 May 2001 12:35:41 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Mon, 21 May 2001 12:35:41 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f4LGF4q14830 - for <wlestes@hermes.email.uncg.edu>; Mon, 21 May 2001 12:15:05 -0400 (EDT) -Received: from fencepost.gnu.org (we-refuse-to-spy-on-our-users@fencepost.gnu.org [199.232.76.164]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id MAA05855 - for <wlestes@uncg.edu>; Mon, 21 May 2001 12:15:04 -0400 (EDT) -Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 151sKm-0003HU-00 - for <wlestes@uncg.edu>; Mon, 21 May 2001 12:15:04 -0400 -Received: from web9407.mail.yahoo.com ([216.136.129.23]) - by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) - id 151sIL-0003CL-00 - for <help-flex@gnu.org>; Mon, 21 May 2001 12:12:33 -0400 -Message-ID: <20010521161232.55864.qmail@web9407.mail.yahoo.com> -Received: from [216.254.82.102] by web9407.mail.yahoo.com; Mon, 21 May 2001 09:12:32 PDT -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: Enhancements in flex for error handling -To: kbinu@hss.hns.com, help-flex@gnu.org -Cc: crajasri@hss.hns.com -In-Reply-To: <65256A53.0034A096.00@sampark.hss.hns.com> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Sender: help-flex-admin@gnu.org -Errors-To: help-flex-admin@gnu.org -X-BeenThere: help-flex@gnu.org -X-Mailman-Version: 2.0.3 -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Mon, 21 May 2001 09:12:32 -0700 (PDT) - -*** EOOH *** -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: Enhancements in flex for error handling -To: kbinu@hss.hns.com, help-flex@gnu.org -Cc: crajasri@hss.hns.com -In-Reply-To: <65256A53.0034A096.00@sampark.hss.hns.com> -Sender: help-flex-admin@gnu.org -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Mon, 21 May 2001 09:12:32 -0700 (PDT) - -> using exit() ? If not, any references on how to go about modifying the -> skeleton scanner for this feature ? - -You might get away with something like this (without having to modify the skeleton -code): yyerror sets a flag, then resets the scanner, pointing the input to -/dev/null. -The parser will have to check the error flag, of course. - --John - - - - -__________________________________________________ -Do You Yahoo!? -Yahoo! Auctions - buy the things you want at great prices -http://auctions.yahoo.com/ - -_______________________________________________ -Help-flex mailing list -Help-flex@gnu.org -http://mail.gnu.org/mailman/listinfo/help-flex - - -1,, -X-Coding-System: nil -Mail-from: From help-flex-admin@gnu.org Mon Jun 4 11:26:56 2001 -Return-Path: <help-flex-admin@gnu.org> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id LAA07669 - for <wlestes@localhost>; Mon, 4 Jun 2001 11:26:55 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Mon, 04 Jun 2001 11:26:55 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.email.uncg.edu (8.11.0/8.11.0) with ESMTP id f54F63q16735 - for <wlestes@hermes.email.uncg.edu>; Mon, 4 Jun 2001 11:06:03 -0400 (EDT) -Received: from fencepost.gnu.org (we-refuse-to-spy-on-our-users@fencepost.gnu.org [199.232.76.164]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id LAA00743 - for <wlestes@uncg.edu>; Mon, 4 Jun 2001 11:06:02 -0400 (EDT) -Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 156vve-0003bF-00 - for <wlestes@uncg.edu>; Mon, 04 Jun 2001 11:06:02 -0400 -Received: from mx1.thebiz.net ([216.238.0.20]) - by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) - id 156vtP-0003Xd-00 - for <help-flex@gnu.org>; Mon, 04 Jun 2001 11:03:43 -0400 -Received: (qmail 14188 invoked from network); 4 Jun 2001 11:03:40 -0400 -Received: from mail2.backend.thebiz.net (HELO mail2.thebiz.net) (172.16.0.129) - by mx1.backend.thebiz.net with SMTP; 4 Jun 2001 11:03:40 -0400 -Received: (qmail 26039 invoked by uid 0); 4 Jun 2001 11:03:39 -0400 -Received: from unknown (HELO abit) (216.238.78.51) - by mail.ulster.net with SMTP; 4 Jun 2001 11:03:39 -0400 -Message-ID: <006701c0ed07$fcefc5a0$0400a8c0@abit> -From: "Bill Fenlason" <BillFen@Ulster.Net> -To: <help-flex@gnu.org> -Subject: FLEX <<EOF>> with yymore() token -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Content-Transfer-Encoding: 7bit -X-Priority: 3 -X-MSMail-Priority: Normal -X-Mailer: Microsoft Outlook Express 5.00.3018.1300 -X-MimeOLE: Produced By Microsoft MimeOLE V5.00.3018.1300 -Sender: help-flex-admin@gnu.org -Errors-To: help-flex-admin@gnu.org -X-BeenThere: help-flex@gnu.org -X-Mailman-Version: 2.0.3 -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Mon, 4 Jun 2001 11:06:52 -0400 - -*** EOOH *** -From: "Bill Fenlason" <BillFen@Ulster.Net> -To: <help-flex@gnu.org> -Subject: FLEX <<EOF>> with yymore() token -Sender: help-flex-admin@gnu.org -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Mon, 4 Jun 2001 11:06:52 -0400 - -I posted part of this question to comp.compilers, and John Millaway pointed -me here. Thanks John. I've read the archives but did not see this topic -discussed. - -In FLEX, the current buffer is flushed immediately when EOF is encountered, -even if it contains a token pushed by yymore(). That means that something -like: - <start_cond><<EOF>>{If (yyleng > 0) return(A_TOKEN) .... } -fails, because yyleng may be non-zero but yytext is null. The token is -copied to the start of the buffer but is then overwritten by the buffer -flush (via yyrestart). - -I modified the skeleton to check this out. If the call to yyrestart is -bypassed (OK in my case), the problem partly goes away. Is this a bug or an -unintended byproduct? - -The core issue relates to <<EOF>> and what actions after <<EOF>> are -allowed. <<EOF>> is logically a state rather than a token, and the null -return (after yywrap) makes perfect sense to me. The comment in the code -about a repeated call returning null again also makes sense, but it seems to -me that allowing the return of a residual token (pushed by yymore) would be -appropriate. I realize the difficulty in trying to allow <<EOF>> as right -context in a pattern, and I had hoped to accomplish the same thing via the -<<EOF>> rules. - -Currently at <<EOF>> yyleng is set to 1 plus the yymore length, and I would -propose that it should be set to the yymore length only (usually 0). The -scan has to rely on the trailing null in the buffer to identify the <<EOF>> -state, but should it be treated as an actual token? (In the case above I -needed to use --yyleng.) - -I understand the need to reset the buffer in case the user has changed yyin. - -The man page specifies that repeated calls after EOF are undefined. Would -defining them such that zero additional characters are matched and that null -is returned be an improvement? Should the calculation of yyleng at <<EOF>> -be changed? Should there be a change regarding the buffer flush to allow -the residual token to be returned? - -My case involves recognizing identifiers which may contain extralingual -characters defined at runtime. - -Thank you. - -Bill Fenlason - - - - -_______________________________________________ -Help-flex mailing list -Help-flex@gnu.org -http://mail.gnu.org/mailman/listinfo/help-flex - - -1, answered,, -X-Coding-System: nil -Mail-from: From BillFen@Ulster.Net Sun Jun 10 13:20:00 2001 -Return-Path: <BillFen@Ulster.Net> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id NAA02104 - for <wlestes@localhost>; Sun, 10 Jun 2001 13:20:00 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Sun, 10 Jun 2001 13:20:00 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.uncg.edu (8.11.0/8.11.0) with ESMTP id f5AHIPs03250 - for <wlestes@hermes.email.uncg.edu>; Sun, 10 Jun 2001 13:18:25 -0400 (EDT) -Received: from mx1.thebiz.net (mx1.thebiz.net [216.238.0.20]) - by external-gw.uncg.edu (8.9.3/8.9.3) with SMTP id NAA27551 - for <wlestes@uncg.edu>; Sun, 10 Jun 2001 13:18:24 -0400 (EDT) -Received: (qmail 24543 invoked from network); 10 Jun 2001 13:18:24 -0400 -Received: from unknown (HELO mail2.thebiz.net) (172.16.0.129) - by mx1.backend.thebiz.net with SMTP; 10 Jun 2001 13:18:24 -0400 -Received: (qmail 29926 invoked by uid 0); 10 Jun 2001 13:18:23 -0400 -Received: from unknown (HELO abit) (216.238.78.51) - by mail.ulster.net with SMTP; 10 Jun 2001 13:18:23 -0400 -Message-ID: <00f301c0f1d1$bb1ef140$0400a8c0@abit> -From: "Bill Fenlason" <BillFen@Ulster.Net> -To: <wlestes@uncg.edu> -Subject: FLEX modifications -Date: Sun, 10 Jun 2001 13:21:02 -0400 -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Content-Transfer-Encoding: 7bit -X-Priority: 3 -X-MSMail-Priority: Normal -X-Mailer: Microsoft Outlook Express 5.00.3018.1300 -X-MimeOLE: Produced By Microsoft MimeOLE V5.00.3018.1300 - -*** EOOH *** -From: "Bill Fenlason" <BillFen@Ulster.Net> -To: <wlestes@uncg.edu> -Subject: FLEX modifications -Date: Sun, 10 Jun 2001 13:21:02 -0400 - -Hello Will, - -Are you currently the one responsible for FLEX development and maint? I saw -you pointed to in the FLEX help archives. - -Since no one has commented on my recent message regarding yymore() and -<<EOF>>, I though I would send you a note directly. - -Are you interested in a patch and documentation changes? I'll be happy to -develop them and send them to you. It will be some work for me since I -would want to be sure that everything is bulletproof. But I don't want to -spend the time on it if there is no agreement that the change is both needed -and wanted. - -The reason I'm implementing this is that the parser interface routine I'm -developing builds a token chain that includes tokens for missing ending -delimiters (comment ends, quotes, parens, etc, as well as include file end -identifiers. It is convenient to keep generating zero length tokens at -<<EOF>> to handle this, with the final YY_NULL being delayed until nothing -is outstanding or pushed with yymore(). Leaving repeated calls after EOF as -undefined and undocumented seems to me to be a loose end that might well be -clarified. I think that my approach makes sense in general, and had hoped -that others more experienced with FLEX would point out some pros and cons. - -I have some other topics to ask about along with some suggestions, and it -will be helpful to know if you are interested in this or other changes and -additions to FLEX. - -I'll be using a modified skeleton in any event so I'm not dependent (or -asking for) any "official" changes. But FLEX is a wonderful tool, and I -wouldn't mind contributing something to it if I am able to. - -Thanks. - -Bill Fenlason - -ps I assume that Vern is a very busy guy so I have not written to him. But -feel free to forward this to him if you think it appropriate. - - - - - -1, answered,, -Summary-line: 10-Jun BillFen@Ulster.Net [121] #Re: FLEX modifications -X-Coding-System: nil -Mail-from: From BillFen@Ulster.Net Sun Jun 10 20:30:13 2001 -Return-Path: <BillFen@Ulster.Net> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id UAA02667 - for <wlestes@localhost>; Sun, 10 Jun 2001 20:30:13 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Sun, 10 Jun 2001 20:30:13 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.uncg.edu (8.11.0/8.11.0) with ESMTP id f5B0SGs07342 - for <wlestes@hermes.email.uncg.edu>; Sun, 10 Jun 2001 20:28:16 -0400 (EDT) -Received: from mx1.thebiz.net (mx1.thebiz.net [216.238.0.20]) - by external-gw.uncg.edu (8.9.3/8.9.3) with SMTP id UAA12568 - for <wlestes@uncg.edu>; Sun, 10 Jun 2001 20:28:17 -0400 (EDT) -Received: (qmail 24345 invoked from network); 10 Jun 2001 20:28:15 -0400 -Received: from unknown (HELO mail2.thebiz.net) (172.16.0.129) - by mx1.backend.thebiz.net with SMTP; 10 Jun 2001 20:28:15 -0400 -Received: (qmail 3989 invoked by uid 0); 10 Jun 2001 20:28:13 -0400 -Received: from unknown (HELO abit) (216.238.78.51) - by mail.ulster.net with SMTP; 10 Jun 2001 20:28:13 -0400 -Message-ID: <001201c0f20d$eb553360$0400a8c0@abit> -From: "Bill Fenlason" <BillFen@Ulster.Net> -To: "W. L. Estes" <wlestes@uncg.edu> -References: <00f301c0f1d1$bb1ef140$0400a8c0@abit> <200106101934.PAA02280@michael.uncg.edu> -Subject: Re: FLEX modifications -Date: Sun, 10 Jun 2001 20:31:55 -0400 -MIME-Version: 1.0 -Content-Type: text/plain; - charset="Windows-1252" -Content-Transfer-Encoding: 7bit -X-Priority: 3 -X-MSMail-Priority: Normal -X-Mailer: Microsoft Outlook Express 5.00.3018.1300 -X-MimeOLE: Produced By Microsoft MimeOLE V5.00.3018.1300 - -*** EOOH *** -From: "Bill Fenlason" <BillFen@Ulster.Net> -To: "W. L. Estes" <wlestes@uncg.edu> -Subject: Re: FLEX modifications -Date: Sun, 10 Jun 2001 20:31:55 -0400 - -Will, - -Thanks for responding, and for pointing out that I could keep track of the -paired delimiter state in the calling program - certainly a reasonable -question. - -I decided against that approach primarily because I didn't want to -complicate the calling program unnecessarily. I found that treating this as -a scanning function allowed the overall coding to be smaller and more -reasonable. For example, I handle nested comments, and the scanner needs to -use separate start conditions. The nesting level needs to be maintained for -that any way, so using additional calls after eof makes it really simple - I -just return the zero length "missing delimeter" tokens and decrease the -nesting level. When it reaches zero I go back to the base state and YY_NULL -is returned. All in all, trying to keep track in both places is a -duplication. - -But that does not explain the yymore() issue. The language I'm scanning -(PL/I) allows identifier name characters to be specified at runtime. The -feature is to support foreign language keyboards etc. So the problem is how -to scan them? I don't want to force the calling program to paste parts of a -word together, and I have to test any non conventional character (i.e. -128-255) to determine if it is a name character or not. My solution is to -yymore() each word, and either append a valid extralingual character or -return the word. Works great, except at EOF. I don't want to depend on a -trailing NL character, although it would be present almost all of the time. -(After 35 years of programming, I've learned the value of making things -bulletproof 8:-). - -Finally, the actions at eof I'm proposing just "feel right". I hope after -some reflection you come to the same conclusion. I'll be glad to go into -lots more detail in case you have any fine points to consider. - -The next few issues I have relate to providing assistance for unlimied -include file nesting, and how to assist with token location information -(yylineno and offset) without having the performance robbing rescan for NL. -Also I'd like to kick around some ideas related to gen.c and skeletons. - -Would you rather that I discuss these things with you directly, or should I -use the list? I don't know the balance between knowledgeable programmers -and developers, and users in the list membership. I would like a healthy -discussion on these ideas and questions but I wouldn't want to add -inappropriate things to the list. - -Thanks again - hope this is not taking too much of your time. - -Bill Fenlason - -ps. a snapshot would be great! - ------ Original Message ----- -From: W. L. Estes -To: BillFen@Ulster.Net -Sent: Sunday, June 10, 2001 3:34 PM -Subject: Re: FLEX modifications - - -> Are you currently the one responsible for FLEX development and maint? I -saw -> you pointed to in the FLEX help archives. - -yes. :) - -> Since no one has commented on my recent message regarding yymore() and -> <<EOF>>, I though I would send you a note directly. -> -> Are you interested in a patch and documentation changes? I'll be happy to -> develop them and send them to you. It will be some work for me since I -> would want to be sure that everything is bulletproof. But I don't want to -> spend the time on it if there is no agreement that the change is both -needed -> and wanted. - -On first reading of your message, I thought that I needed to think -about what you were asking. Unfortunately, you got put way down in the -queue. - -> The reason I'm implementing this is that the parser interface routine I'm -> developing builds a token chain that includes tokens for missing ending -> delimiters (comment ends, quotes, parens, etc, as well as include file end -> identifiers. It is convenient to keep generating zero length tokens at -> <<EOF>> to handle this, with the final YY_NULL being delayed until nothing -> is outstanding or pushed with yymore(). Leaving repeated calls after EOF -as -> undefined and undocumented seems to me to be a loose end that might well -be -> clarified. I think that my approach makes sense in general, and had hoped - -> that others more experienced with FLEX would point out some pros and cons. - -devil's advocate question: why not just keep track of your state and -compare: e.g. if (eof && !closed_delim_state)... - -> I have some other topics to ask about along with some suggestions, and it -> will be helpful to know if you are interested in this or other changes and -> additions to FLEX. - -I'm always interested in suggestions, patches etc. please note: i'm -not saying no to your idea above, i'm just asking you to explain it to -me better--because i'm not quite getting what you're saying. - -> I'll be using a modified skeleton in any event so I'm not dependent (or -> asking for) any "official" changes. But FLEX is a wonderful tool, and I -> wouldn't mind contributing something to it if I am able to. - -Certainly. If you'd like my current sources (which have migrated quite -a bit since Vern's last 2.5.4 release), let me know. you can have a -copy of the cvs repository or a snapshot of the current tree. - -and what is your need for a modified skeleton? (i.e. is that something -which might be of use to the general flex user?) - -> Thanks. - ---Will - - -1, answered,, -Summary-line: 15-Jun BillFen@Ulster.Net [66] #Re: FLEX modifications -X-Coding-System: nil -Mail-from: From BillFen@Ulster.Net Fri Jun 15 15:22:34 2001 -Return-Path: <BillFen@Ulster.Net> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id PAA05265 - for <wlestes@localhost>; Fri, 15 Jun 2001 15:22:33 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Fri, 15 Jun 2001 15:22:33 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.uncg.edu (8.11.0/8.11.0) with ESMTP id f5FJKjs04809 - for <wlestes@hermes.email.uncg.edu>; Fri, 15 Jun 2001 15:20:45 -0400 (EDT) -Received: from mx3.thebiz.net (mx3.thebiz.net [216.238.0.22]) - by external-gw.uncg.edu (8.9.3/8.9.3) with SMTP id PAA05329 - for <wlestes@uncg.edu>; Fri, 15 Jun 2001 15:20:45 -0400 (EDT) -Received: (qmail 34351 invoked from network); 15 Jun 2001 15:19:39 -0400 -Received: from unknown (172.16.0.72) - by mx3.backend.thebiz.net with QMQP; 15 Jun 2001 15:19:39 -0400 -Received: from unknown (HELO abit) (216.238.78.36) - by mail.ulster.net with SMTP; 15 Jun 2001 15:19:39 -0400 -Message-ID: <001901c0f5d0$a7080fe0$0400a8c0@abit> -From: "Bill Fenlason" <BillFen@Ulster.Net> -To: "W. L. Estes" <wlestes@uncg.edu> -References: <00f301c0f1d1$bb1ef140$0400a8c0@abit> <200106101934.PAA02280@michael.uncg.edu> -Subject: Re: FLEX modifications -Date: Fri, 15 Jun 2001 15:23:25 -0400 -MIME-Version: 1.0 -Content-Type: text/plain; - charset="Windows-1252" -Content-Transfer-Encoding: 7bit -X-Priority: 3 -X-MSMail-Priority: Normal -X-Mailer: Microsoft Outlook Express 5.00.3018.1300 -X-MimeOLE: Produced By Microsoft MimeOLE V5.00.3018.1300 - -*** EOOH *** -From: "Bill Fenlason" <BillFen@Ulster.Net> -To: "W. L. Estes" <wlestes@uncg.edu> -Subject: Re: FLEX modifications -Date: Fri, 15 Jun 2001 15:23:25 -0400 - -Hello Will, - -I assume that you have not had time to get to my last note, or perhaps it is -just too far down in the queue. This one will keep it company 8-). - -There are two lines of code that I've added to the skeleton which seem to -solve the problem of repeated calls at end of file and the yymore() -situation. I'll briefly describe them so you can decide if you would like -to consider including them. - -This is below the yywrap() test, near: - case EOB_ACT_END_OF_FILE: - - yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; - - yyleng = YY_MORE_ADJ; /* <== Added Line */ - -As the related comment described, yytext was carefully set up. This line -sets up yyleng as for a normal token. The value will be the length of any -yymore() token (normally zero), which is the difference between the -current buffer pointer and the current text pointer. The code after the -match -is made sets he length to one greater because of the double null EOB -marker. --yyleng will work as well. - -The second change is in the yy_get_next_buffer routine: - - ret_val = EOB_ACT_END_OF_FILE; - - /* <== Inserted if condition ==> */ - if ( yyin != yy_current_buffer->yy_input_file - || yy_current_buffer-> yy_buffer_status == YY_BUFFER_NEW) - - yyrestart( yyin ); - -It makes the restart conditional on a change of the yyin address or a newly -created buffer. It is not exactly the way I would like it, but it is not -unreasonable. - -I can understand the desire to allow the user to just reassign yyin within -an <<EOF>> rule, but I think the earlier version approach of requiring the -user to issue YY_NEW_FILE is more orderly. The philosophical issue is -if EOF is a persistent state or if a recall after it should automatically -imply that a new file is being provided. Both sides of the argument can -have -advantages for the user and I had hoped for some discussion of the point -in case there is something that I don't understand about it. - -I'm still testing and researching the code and will let you know if I find -anything else necessary - I need to more fully check the input() routine. I -spent a while checking both the skeleton logic and the various alternatives -generated within gen.c. Hopefully I didn't miss anything. . - -Bill Fenlason - - - - - - - - -1, answered,, -X-Coding-System: nil -Mail-from: From vern@daffy.ee.lbl.gov Sun Jun 17 03:08:59 2001 -Return-Path: <vern@daffy.ee.lbl.gov> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id DAA06939 - for <wlestes@localhost>; Sun, 17 Jun 2001 03:08:58 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Sun, 17 Jun 2001 03:08:58 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.uncg.edu (8.11.0/8.11.0) with ESMTP id f5H76cs21638 - for <wlestes@hermes.email.uncg.edu>; Sun, 17 Jun 2001 03:06:38 -0400 (EDT) -Received: from daffy.ee.lbl.gov (daffy.ee.lbl.gov [131.243.1.31]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id DAA19164 - for <wlestes@uncg.edu>; Sun, 17 Jun 2001 03:06:38 -0400 (EDT) -Received: (from vern@localhost) - by daffy.ee.lbl.gov (8.10.0/8.10.0) id f5H76So24900; - Sun, 17 Jun 2001 00:06:28 -0700 (PDT) -Message-Id: <200106170706.f5H76So24900@daffy.ee.lbl.gov> -To: Theo de Raadt <deraadt@cvs.openbsd.org> -Subject: Re: lex license -Cc: wlestes@uncg.edu -In-reply-to: Your message of Sat, 02 Jun 2001 13:15:37 PDT. -Date: Sun, 17 Jun 2001 00:06:28 PDT -From: Vern Paxson <vern@ee.lbl.gov> - -*** EOOH *** -To: Theo de Raadt <deraadt@cvs.openbsd.org> -Subject: Re: lex license -Cc: wlestes@uncg.edu -In-reply-to: Your message of Sat, 02 Jun 2001 13:15:37 PDT. -Date: Sun, 17 Jun 2001 00:06:28 PDT -From: Vern Paxson <vern@ee.lbl.gov> - -> Specifically, this license does not grant modification -> rights -- which must be explicitly granted under copyright law. - -Yes, this came up a while ago, and I put together a flex release with -a modified copyright that begins: - - Redistribution and use in source and binary forms, with or - without modification, are permitted provided that: - -However, that version didn't get fully integrated into the sources I sent -to Will. It's in the COPYING file but not in the individual source files, -just because I hadn't gotten around to it. - -Will, feel free to update the copyrights in each of the files with the -one in COPYING. - - Vern - - -1,, -X-Coding-System: nil -Mail-from: From help-flex-admin@gnu.org Sun Jun 17 13:08:17 2001 -Return-Path: <help-flex-admin@gnu.org> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id NAA08097 - for <wlestes@localhost>; Sun, 17 Jun 2001 13:08:17 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Sun, 17 Jun 2001 13:08:17 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.uncg.edu (8.11.0/8.11.0) with ESMTP id f5HH62s28053 - for <wlestes@hermes.email.uncg.edu>; Sun, 17 Jun 2001 13:06:02 -0400 (EDT) -Received: from fencepost.gnu.org (we-refuse-to-spy-on-our-users@fencepost.gnu.org [199.232.76.164]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id NAA09353 - for <wlestes@uncg.edu>; Sun, 17 Jun 2001 13:06:02 -0400 (EDT) -Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) - by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian)) - id 15Bfzu-0005ly-00 - for <wlestes@uncg.edu>; Sun, 17 Jun 2001 13:06:02 -0400 -Received: from web9406.mail.yahoo.com ([216.136.129.22]) - by fencepost.gnu.org with smtp (Exim 3.16 #1 (Debian)) - id 15BfxJ-0005iZ-00 - for <help-flex@gnu.org>; Sun, 17 Jun 2001 13:03:21 -0400 -Message-ID: <20010617170320.76960.qmail@web9406.mail.yahoo.com> -Received: from [205.197.108.252] by web9406.mail.yahoo.com; Sun, 17 Jun 2001 10:03:20 PDT -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: yylineno -To: Bill Fenlason <BillFen@Ulster.Net> -Cc: help-flex@gnu.org -In-Reply-To: <001601c0f6ce$b174eda0$0400a8c0@abit> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Sender: help-flex-admin@gnu.org -Errors-To: help-flex-admin@gnu.org -X-BeenThere: help-flex@gnu.org -X-Mailman-Version: 2.0.5 -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Sun, 17 Jun 2001 10:03:20 -0700 (PDT) - -*** EOOH *** -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: yylineno -To: Bill Fenlason <BillFen@Ulster.Net> -Cc: help-flex@gnu.org -In-Reply-To: <001601c0f6ce$b174eda0$0400a8c0@abit> -Sender: help-flex-admin@gnu.org -Precedence: bulk -List-Help: <mailto:help-flex-request@gnu.org?subject=help> -List-Post: <mailto:help-flex@gnu.org> -List-Subscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=subscribe> -List-Id: Users list for Flex, - the GNU lexical analyser generator <help-flex.gnu.org> -List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/help-flex>, - <mailto:help-flex-request@gnu.org?subject=unsubscribe> -List-Archive: <http://mail.gnu.org/pipermail/help-flex/> -Date: Sun, 17 Jun 2001 10:03:20 -0700 (PDT) - -> How do you (or would you) keep track of the token offset within the line? -> - -By this, do you mean the "column"? If your tokens do not span lines, -then you can use yyleng. If the tokens do span lines, -then you have to rescan the token. Yuk! - -%% - /* This is untested code. But in the right spirit ! */ - static int yycol=0, next_col=0; - char* _p; - - /* Update yycol for tokens that do not contain '\n' */ - #define COL() yycol=next_col; next_col += yyleng - - /* Update yycol for tokens that may possibly contain '\n' */ - #define COLN() do{ \ - yycol=next_col; \ - for(_p=yytext; *_p; _p++,next_col++) \ - if( *_p == '\n' ) \ - next_col = -1; \ - }while(0) - - #define NEWL() yycol = next_col= 0 - -foo|bar { COL(); printf("%d: %s\n" , yycol, yytext); } -\n { NEWL(); printf("%d: NEWL\n", yycol); } -foo\nbar { COLN(); printf("%d: %s\n" , yycol, yytext); } - -%% - --John - - - -__________________________________________________ -Do You Yahoo!? -Spot the hottest trends in music, movies, and more. -http://buzz.yahoo.com/ - -_______________________________________________ -Help-flex mailing list -Help-flex@gnu.org -http://mail.gnu.org/mailman/listinfo/help-flex - - -1, answered,, -X-Coding-System: nil -Mail-from: From avn@any.ru Sun Jun 24 03:10:57 2001 -Return-Path: <avn@any.ru> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id DAA10135 - for <wlestes@localhost>; Sun, 24 Jun 2001 03:10:57 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Sun, 24 Jun 2001 03:10:57 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.uncg.edu (8.11.0/8.11.0) with ESMTP id f5O78ts09193 - for <wlestes@hermes.email.uncg.edu>; Sun, 24 Jun 2001 03:08:55 -0400 (EDT) -Received: from ajax2.sovam.com (ajax2.sovam.com [194.67.1.173]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id DAA15567 - for <wlestes@uncg.edu>; Sun, 24 Jun 2001 03:08:54 -0400 (EDT) -Received: from ts11-a1.dial.sovam.com ([195.239.68.1]:2044 "EHLO srv2.any" - ident: "TIMEDOUT" whoson: "-unregistered-" smtp-auth: <none> TLS-CIPHER: - <none> TLS-PEER: <none>) by ajax2.sovam.com with ESMTP - id <S426173AbRFXHIs>; Sun, 24 Jun 2001 11:08:48 +0400 -Received: from localhost (avn@localhost) - by srv2.any (8.11.3/8.11.3) with ESMTP id f5O7Adg89096 - for <wlestes@uncg.edu>; Sun, 24 Jun 2001 11:10:39 +0400 (MSD) - (envelope-from avn@any.ru) -Date: Sun, 24 Jun 2001 11:10:39 +0400 (MSD) -From: "Alexey V. Neyman" <avn@any.ru> -X-X-Sender: <avn@srv2.any> -To: <wlestes@uncg.edu> -Subject: lex generates files that give warnings with gcc -Message-ID: <20010624111019.R89058-100000@srv2.any> -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII - -*** EOOH *** -Date: Sun, 24 Jun 2001 11:10:39 +0400 (MSD) -From: "Alexey V. Neyman" <avn@any.ru> -To: <wlestes@uncg.edu> -Subject: lex generates files that give warnings with gcc - -Hello! - -I compiled lex-produced files with 'gcc -Wconversion', and it gives -warnings about passing arguments to fread/fwrite as unsigned due to -function prototypes. This produces warnings when program is compiled -under suggested 'strict warnings' in FreeBSD, ${BDECFLAGS}. More, these -warnings point to .l file that was fed to lex. - -You can see detailed problem report, samples of failing code and a -proposed fix at: - -http://www.freebsd.org/cgi/query-pr.cgi?pr=28364 - -Regards, Alexey. -PS. Waiting for fix and for FreeBSD to import fixed :) - --- --------------------------------------------------+--------------------------- - We chose to leave when there was | Regards, Alexey V. Neyman - no longer a reason to stay. | mailto: avn@any.ru ----------------------------------( Arilou, SC2 )-+--------------------------- - - - - -1, answered,, -X-Coding-System: nil -Mail-from: From ashalper@usgs.gov Mon Jul 23 20:31:28 2001 -Return-Path: <ashalper@usgs.gov> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id UAA31191 - for <wlestes@localhost>; Mon, 23 Jul 2001 20:31:28 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Mon, 23 Jul 2001 20:31:28 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.uncg.edu (8.11.0/8.11.0) with ESMTP id f6O0QmW26609 - for <wlestes@hermes.email.uncg.edu>; Mon, 23 Jul 2001 20:26:48 -0400 (EDT) -Received: from gsazflgm01.wr.usgs.gov (gsazflgm01.wr.usgs.gov [130.118.164.152]) - by external-gw.uncg.edu (8.9.3/8.9.3) with ESMTP id UAA17843 - for <wlestes@uncg.edu>; Mon, 23 Jul 2001 20:26:47 -0400 (EDT) -Subject: Re: shared object libfl? -To: wlestes@uncg.edu -X-Mailer: Lotus Notes Release 5.0.1b September 30, 1999 -Message-ID: <OF7BEDABA3.AFD35C13-ON07256A92.00837F9F@wr.usgs.gov> -From: "Andrew S Halper" <ashalper@usgs.gov> -Date: Mon, 23 Jul 2001 16:56:52 -0700 -X-MIMETrack: Serialize by Router on gsazflgm01/SERVER/USGS/DOI(Release 5.0.7 |March 21, 2001) at - 07/23/2001 05:26:49 PM -MIME-Version: 1.0 -Content-type: text/plain; charset=us-ascii - -*** EOOH *** -Subject: Re: shared object libfl? -To: wlestes@uncg.edu -From: "Andrew S Halper" <ashalper@usgs.gov> -Date: Mon, 23 Jul 2001 16:56:52 -0700 - - ------ Forwarded by Andrew S Halper/WRD/USGS/DOI on 07/23/01 04:56 PM ----- - - Vern Paxson - <vern@ee.lbl. To: "Andrew S Halper" <ashalper@usgs.gov> - gov> cc: - Subject: Re: shared object libfl? - 07/23/01 - 05:15 PM - - - - - -> Is there any special reason a shared object library is not built by the -> flex source? Is there a 'configure' option to make one? - -Please send this to Will Estes (wlestes@uncg.edu), who has now taken over -flex maintenance and development. - - Thanks, - - Vern - - - - -1,, -X-Coding-System: nil -Mail-from: From johnmillaway@yahoo.com Thu Aug 16 11:11:13 2001 -Return-Path: <johnmillaway@yahoo.com> -Received: from localhost (localhost [127.0.0.1]) - by michael.uncg.edu (8.9.3/8.9.3) with ESMTP id LAA22070 - for <wlestes@localhost>; Thu, 16 Aug 2001 11:11:13 -0400 -Received: from imap.uncg.edu - by localhost with IMAP (fetchmail-5.1.0) - for wlestes@localhost (single-drop); Thu, 16 Aug 2001 11:11:13 -0400 (EDT) -Received: from external-gw.uncg.edu (external-gw.uncg.edu [152.13.2.70]) - by hermes.uncg.edu (8.11.0/8.11.0) with ESMTP id f7GF5xW19868 - for <wlestes@hermes.email.uncg.edu>; Thu, 16 Aug 2001 11:05:59 -0400 (EDT) -Received: from web9405.mail.yahoo.com (web9405.mail.yahoo.com [216.136.129.111]) - by external-gw.uncg.edu (8.9.3/8.9.3) with SMTP id LAA07077 - for <wlestes@uncg.edu>; Thu, 16 Aug 2001 11:05:57 -0400 (EDT) -Message-ID: <20010816150558.37014.qmail@web9405.mail.yahoo.com> -Received: from [216.254.82.102] by web9405.mail.yahoo.com; Thu, 16 Aug 2001 08:05:58 PDT -Date: Thu, 16 Aug 2001 08:05:58 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: comments in lexical definitions -To: Tobias Ostgathe <ostgathe@tesionmail.de> -Cc: help-flex@gnu.org, Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de>, - "W. L. Estes" <wlestes@uncg.edu> -In-Reply-To: <003301c1264e$0677bea0$2465e2c3@wuschtbix> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii - -*** EOOH *** -Date: Thu, 16 Aug 2001 08:05:58 -0700 (PDT) -From: "John W. Millaway" <johnmillaway@yahoo.com> -Subject: Re: comments in lexical definitions -To: Tobias Ostgathe <ostgathe@tesionmail.de> -Cc: help-flex@gnu.org, Hans-Bernhard Broeker <broeker@physik.rwth-aachen.de>, - "W. L. Estes" <wlestes@uncg.edu> -In-Reply-To: <003301c1264e$0677bea0$2465e2c3@wuschtbix> - -> > > I'm missing the possibility to include comments in lexical definition - -Flex does allow comments everywhere you could possibly need them. This -discussion suggests a failure in the flex docs to make the syntax clear. What's -the trick, then? - -1. Use traditional C comments, not '//' comments. -2. INDENT THE COMMENT. - --John -(Exhaustive example follows) - -%{ - /* 1 */ -%} - /* 2 */ -%option reentrant -%x STATE_X - -%% - /* 3 */ -ruleA /* 4 */ { /* 5 */} -ruleB /* 6 */ ECHO; /* 7 */ - /* 8 */ -<STATE_X>{ -ruleC ECHO; - /* 9 */ -ruleD ECHO; -} - -%% -/* 10 */ - - - -__________________________________________________ -Do You Yahoo!? -Make international calls for as low as $.04/minute with Yahoo! Messenger -http://phonecard.yahoo.com/ - -
\ No newline at end of file |