Re: [Flex-help] Digits followed by letters
flex is a tool for generating scanners
Brought to you by:
wlestes
From: Will E. <wl...@us...> - 2010-02-26 20:10:53
|
You really want to use bison to implement the grammar you have in mind. (As well as fixing the errors in your flex input file below.) --Will On Friday, 26 February 2010, 10:35 pm +0600, "Dr. Muhammad Masroor Ali" <mma...@cs...> wrote: > Thanks for the answer. Everything (lexing) goes fine until the last action > line is added, I get a message in the line of unrecognized rule. Sorry to be a > bother. > > %{ > > #include <stdlib.h> > > #include <malloc.h> > > %} > > > > > > DIGIT [0-9] > > LETTER [a-zA-Z] > > INTEGER {DIGIT}+/[^a-zA-Z] > > ID {LETTER}({LETTER}|{LETTER})+ > > > > %% > > > > {INTEGER} { > fprintf(yyout, "<INT, %s>", yytext); > } > > > > > ---------- Original Message ----------- > From: Dan Haggarty <dan...@du...> > To: "Dr. Muhammad Masroor Ali" <mma...@cs...>, > fle...@li... > Sent: Fri, 26 Feb 2010 08:45:34 -0500 > Subject: Re: [Flex-help] Digits followed by letters > > > If an INT (and FLOAT) must always be followed by WS then you can use > > the '/' construct: > > > > INT {DIGIT}+/{WS} > > FLOAT {DIGIT}+\.{DIGIT}+/{WS} > > > > Alternatively, if an INT can be followed by anything that isn't a > > LETTER, you can use '/' along with '^': > > > > INT {DIGIT}+/[^a-zA-Z] > > > > Dan > > > > You wrote: > > > I have got the following rules > > > > > > LETTER [a-zA-Z] > > > DIGIT [0-9] > > > ID {LETTER}({LETTER}|{DIGIT})* > > > INT {DIGIT}+ > > > FLOAT {DIGIT}+\.{DIGIT}+ > > > WS [ \t\n] > > > %% > > > > > > > > > Now by the above 123abc is treated as an INT followed by an ID. But I want > > > to generate an error for this. How do I do that? > > > > > > 123 abc should be okay to be treated as an INT followed by an ID. > > > > > > Thanks in advance. > > > > ------- End of Original Message ------- > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Flex-help mailing list > Fle...@li... > https://lists.sourceforge.net/lists/listinfo/flex-help > -- Will Estes (wl...@us...) Flex Project Maintainer http://flex.sourceforge.net/ |