[COLUG] Lets talk about FLEX

Tom Hanlon tom at functionalmedia.com
Wed Apr 18 17:37:22 EDT 2007


Thanks Rob,

Exactly what I needed..

--
Tom


On 18 Apr 2007, at 17:29, Rob Funk wrote:

> Tom Hanlon wrote:
>> I know I can look this up but I figured some pithy insight from the
>> group might be useful.
>>
>> What is flex, what is lex ?
>
> Flex is the GNU version of lex, which is the classic Unix tool for
> generating "lexers", which do lexicographic analysis to split text  
> into
> tokens.
>
>> Also it seems that when i need Lex, I use FLEX  and also sometimes,
>> YACC or BISON end up in the mix.
>
> Bison is the GNU version of yacc, which is the classic Unix tool for
> getting meaning out of tokens.  Yacc stands for "yet another
> compiler-compiler".
>
> On a GNU system, flex is used with bison.  On a classic Unix  
> system, lex
> is used with yacc.
>
>> Are these all code generators of some sort ?
>
> Yes.
>
>> I also recall though my memory may be faulty that sometimes FLEX or
>> BISON are required to deliver error output from soome programs.
>
> Not really.
>
>> Meaning I *think* that i have sometimes seen a failing program make a
>> call to one of them and then the error becomes the lack of flex ?
>
> That's probably just in the configuration stage, pre-compilation.
>
>> I just needed Lex for my config of a source PHP install. And then i
>> got to thinking.
>
> The classic book on the subject:
>   http://www.oreilly.com/catalog/lex/
>
> A website on the subject:
>   http://dinosaur.compilertools.net/
>
> | A compiler or interptreter for a programming language is often
> | decomposed into two parts:
> | 1. Read the source program and discover its structure.
> | 2. Process this structure, e.g. to generate the target program.
> |
> | Lex and Yacc can generate program fragments that solve the first  
> task.
> |
> | The task of discovering the source structure again is decomposed  
> into
> | subtasks:
> | 1. Split the source file into tokens (Lex).
> | 2. Find the hierarchical structure of the program (Yacc).
>
> -- 
> ==============================|   "A microscope locked in on one point
>  Rob Funk <rfunk at funknet.net> |Never sees what kind of room that  
> it's in"
>  http://www.funknet.net/rfunk |    -- Chris Mars, "Stuck in Rewind"
> _______________________________________________
> colug432 mailing list colug432 at colug.net
> http://www.colug.net/mailman/listinfo/colug432



More information about the colug432 mailing list