shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RES: [shell-script] Analisador Fex lexico URGENTE


From: Rafael Yahoo
Subject: RES: [shell-script] Analisador Fex lexico URGENTE
Date: Tue, 8 May 2007 11:54:35 -0300

Turma eu tenho um grande problema em maos e nao sei como trata-lo fiz de
tudo mas nao sou tao bom assim para escrever um codigo que reconheca todos
os simbolos , constants numericas, etc.

Alguém ai jah fez ou tem conhecimento sobre analisador LEXICO, FLEX? Tem
como me ajudar com esse código?

Muito obrigado mesmooooo!!!

 

Abraço Rafael Torres de Almeida

 

#include<stdlib.h>

#include<stdio>

%{

int num_linha = 1, num_carac = 0;

%}

 

%option noyywrap

 

DIG   [0-9]

ID    [a-zA-Z][a-zA-Z0-9]*

SIM
"="|"+"|"-"|"*"|"/"|"{"|"}"|"("|")"|";"|"++"|"+="|"--"|"-="|"->"|"."|\"|"'"|
\\    

 

%%

 


                                                                        

{SIM}                                   {

                                          ++num_carac;

                                           printf("Classe: Simbolos \n");

                                                          printf("Valor: %s
\n", yytext);        

 
printf("Posicao: Lin %d , Col %d \n", num_linha, num_carac);        

                                                                        }

                                                                        

{DIG}*                                    {

                                          ++num_carac;

 

                                          printf("Classe: Constante Numerica
\n");

 
printf("Valor: %s (%d)\n", yytext);         

 
printf("Posicao: Lin %d , Col %d \n", num_linha, num_carac);        

                                                 }

 

{ID}                                    {

                                          ++num_carac;

 

                                          printf("Classe: Identificador
\n");

                                                              printf("Valor:
%s \n", yytext);    

                                              printf("Posicao: Lin %d , Col
%d \n", num_linha, num_carac);        

            

                                                            }

            

 

\n                                             {

                                          ++num_linha;

                                                          num_carac = 0;

                                        }


                                        

                                                              

.                                       {

                                          ++num_carac;

                                                  printf("Caracter
Desconhecido: %s\n", yytext );

                                                }   

 


 

%%

 

main( argc, argv )

int argc;

char **argv;

 

{

            ++argv, --argc; 

            if ( argc > 0 ){

 

            yyin = fopen( argv[0], "r" );

            }

            else{

 

            yyin = stdin;

            }

            yylex();

}

 

  _____  

De: address@hidden [mailto:address@hidden]
Em nome de Darlon
Enviada em: Monday, May 07, 2007 1:52 PM
Para: address@hidden
Assunto: Re: [shell-script] tr? awk? cut?

 

Tenta esse

awk -F ":" '{split($2,x,","); for (i in x) print $1 >> x[i]}' arquivo

On 5/7/07, Tiago Barcellos Peczenyj <tiago.peczenyj@
<mailto:tiago.peczenyj%40gmail.com> gmail.com> wrote:
>
> Uma das formas poderia ser esta
>
> awk 'BEGIN{FS="[:,]"} # separador de campo : ou ,
> {
> for(i=2;i<=NF;i++){ # varre todas as 'tags' $1 é o
> usuario
> A[$i]++ # contamos quantas vezes
> aparece o nome da 'tag'
> if (A[$i] == 1) print $i > $i".txt" # se 1* vez imprime cabeçalho
> print $1 >> $i".txt" # adiciona nome
> }
> }' arquivo
>
> use com cuidado ;-)
>
> On 5/7/07, Pedro Drimel <pedrodrimel@ <mailto:pedrodrimel%40gmail.com>
gmail.com <pedrodrimel%40gmail.com>>
> wrote:
> >
> > Bom dia a todos...
> >
> > Tenho um arquivo na seguinte estrutura
> >
> > usuario1:abc,xxx,zzz
> > usuario2:xxx
> > usuario3:zzz
> > usuario4:xxx,abc
> >
> > preciso gerar um arquivo ou até varios (abc.txt xxx.txt) contendo
> >
> > abc
> > usuario1
> > usuario4
> >
> > xxx
> > usuario1
> > usuario2
> > usuario4
> >
> > zzz
> > usuario1
> > usuario3
> >
> > Alguma idéia?
> >
> > Obrigado.
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> Tiago B Peczenyj
> Linux User #405772
>
> # cd /pub
> # more beer
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>

-- 
----------------------------------------------------------
O sistema pediu:"Requires Windows 9x, Windows 2000 or better".
Então eu instalei Linux.

[As partes desta mensagem que não continham texto foram removidas]

 



[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]