O lex como o nome já diz é um analisador léxico, o yacc já, é um analisador sintático. Acho que agora fica mais fácil. No inglês o analisador sintático é chamado de parser ( mas toda a fase pode ser chamada de parsing). Agora vamos ver o que isto realmente significa: Por exemplo em um arquivo de configuração qualquer, um código fonte, etc.. você tem algumas regras para este seguir, isto é chamado de gramática. O ato de interpretar estes arquivos, você tem dois passos (na verdade três, mas mais usado em compiladores) o primeiro que é ler o arquivo e separar em partes "interessantes", ou tokens é chamado de analise léxica. Outra parte que você interpreta se o arquivo esta sintaticamente correto, é chamado de analise sintática, nesta fase que você acha erros de sintaxe como por exemplo, um erro deste tipo: for (=a;a<10;a++) note que falta um int no começo da construção é um erro sintático pois esta faltando um token. Este erro é só verificado e achado na fase sintática. Espero que tenha ajudado. Mais informações Principles of compiler design, Aho Nota: veja que tanto um arquivo de configuração como um código fonte, usam os mesmos princípios.
Eduardo On Sun, 5 Jan 2003 17:50:21 -0200 "Leandro A. F. Pereira" <[EMAIL PROTECTED]> wrote: > Quoted by a can full of über elephants > For [EMAIL PROTECTED]' > On Sunday, 05 January 2003 (17:24): > > > > > Tenho uma dúvida que não consigo tirar (a despeito de ter lido um > > bocado!!!). Quando se refere a lex e yacc, fala-se muito em ´parse´ e > > ´parsing´. Acontece que não consegui entender a que se refere. Alguém > > poderia ajudar ? :-))) > > > > "Parsing" é o que os programas fazem quando lêem um arquivo e usam esse > dado > para determinada coisa. > > Por exemplo: o Mozilla abre um HTML e constrói a página, adicionando > cores, > links, imagens etc; o gcc (e os outros utilitários) lê um arquivo em C e o > transforma em um código assembly; praticamente qualquer outro programa que > pega > um dado e faz algo com ele está "parseando" (ugh) alguma coisa. > > Existem "parsers" que são fáceis de se fazer "na mão" (vide os arquivos > .ini do > Windows), mas tem uns que realmente dão trabalho, como os que citei ali em > cima. > > Nesses casos o lex e o yacc entram. Eles geram, através de regras > definidas em > um arquivo, o código em C para implementar o parser, facilitando a vida do > coitado do programador... :P > > Posso ter dito um monte de besteira ali em cima, portanto me corrijam > -- nunca > usei essas ferramentas, só li um bocado sobre elas. > > -- > Leandro Pereira (oO) <[EMAIL PROTECTED]> > www.mindcrisis.tk /||\ GPG key: 0x062E7976 > > "O medo é uma coisa boa. Se você não tiver medo, pode > acabar pulando pela janela" --Keith Richards > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] >

