elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  comparacion de token
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: comparacion de token  (Leído 6,092 veces)
bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
comparacion de token
« en: 10 Julio 2010, 13:38 pm »

buenas a todos

estoy intentado hacer un analizador lexico para una clase que estoy creando pero como soy un poco novato en esto necesito un poco de ayuda.

el program comipla bien y hasta tiene un poco de exito en la compilacion del codigo pero como siempre con un porcentaje de error, ahi esta el codigo.

Código
  1. int main()
  2. {
  3.    char *token[]={"hola","creado", "interna_creado"};
  4.    char *p =new char;
  5.    cin >>p;
  6.  
  7.    for(int i = 3;i>0; i--)
  8.    {
  9.        if(p== token[i])
  10.        {
  11.            cout << "Token encontrado" <<token[i]
  12.                 << "en la poscion "<< i<<endl;
  13.        }else cout <<"token no enontrado";
  14.    }
  15.  
  16.   delete p;
  17.  
  18.    return 0;
  19. }
  20.  
 


En línea

gracias por responder mis dudas
tragantras


Desconectado Desconectado

Mensajes: 465


Ver Perfil
Re: comparacion de token
« Respuesta #1 en: 10 Julio 2010, 14:41 pm »

ehmmm

new char??

no sería new char[longitud] ? Estás reservando memoria para UN caracter.

Luego comparas un caracter con... una posicion de memoria de un array? O,o
para comparar cadenas usa strcmp(cadena1,cadena2)



PD: si he dicho alguna barbaridad perdonadme, yo soy de c no de c++, el operador new es como chino jaja


En línea

Colaboraciones:
1 2
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: comparacion de token
« Respuesta #2 en: 10 Julio 2010, 21:45 pm »

Si especificaras qué es lo que quieres que haga el código sería mejor.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: comparacion de token
« Respuesta #3 en: 10 Julio 2010, 23:26 pm »

kalix_9, aca te dejo un codigo en C de mas o menos la interpretacion de di yo de lo que queres :P, igual cabe aclarar que es un ejemplo muy basico...

Concuerdo con Leo Gutiérrez., tendrias que ser mas especifico a la hora de plantear tu problema...

Código:
#include <stdio.h>
#include <string.h>

int main( void )
{
    char *token[] = { "hola", "creado", "interna_creado" };
    char c;

    scanf( "%c", &c );
 
    for ( int i = 0; i < 3; ++i )
    {
        for ( int j = 0; j < strlen( token[i] ); ++j )
        {
            if ( c == token[i][j] )
                printf( "Token %c encontrado en la posicion %d\n", token[i][j], i );
            else
                puts( "Token no encontrado" );
        }
    }
   
    return 0;
}

Salu10.
En línea

bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
Re: comparacion de token
« Respuesta #4 en: 11 Julio 2010, 00:02 am »

hola , gracias por responder .

lo que quiero es hacer una especie de analizador lexico , pero primero tengo que enteder como comparar cadenas completas si usar ninguna funcion especial de el espacio  std ni de ninguna lib. 

y pense que con un array de una dimension bastaria para poder hacer una comparacion

En línea

gracias por responder mis dudas
.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Re: comparacion de token
« Respuesta #5 en: 11 Julio 2010, 00:25 am »

No se q es un "analizador lexico" pero interpretando tu code, pareciera q lo que quieres es que busque una letra en una palabra... Y para eso te sirve el code de nicolas_cof... pero como hablas de comparar cadenas... pes pareciera que quieres buscar una palabra en la lista de palabras q tienes... para eso pes haz tu mismo una funcion que compare las cadenas... ya q duce q no quieres usar ninguna funcion hecha...

Saludos...

PD: Estoy casi seguro q en el foro hay ejemplos de como hacerlo
En línea

"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja



bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
Re: comparacion de token
« Respuesta #6 en: 11 Julio 2010, 01:30 am »

analisador lexico podria ser una funcion que busque una palabra en una oracion dentro de un texto por ejemplo

Código
  1.  
  2. //no es code real
  3. char *t[/*SIZE*/] = "ORACION MUY LARGA Y TEDIOSA...";
  4.  
  5.  
  6. funcion_BUSCA_PALABRA("MUY",t);
  7.  
  8.  

claro es un ejemplo ya que podrias definir un analisador lexico como otros tipo de funcion solo me refiero a algo basico.

otro seria lo que usan los compiladores para para revisar sintaxis.

como muchas gracias por todo
En línea

gracias por responder mis dudas
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
trabajar con un token
Programación C/C++
bash 3 3,442 Último mensaje 11 Enero 2012, 11:41 am
por Eternal Idol
csrf token
Hacking
fokin 2 3,312 Último mensaje 21 Noviembre 2013, 17:27 pm
por fokin
[netkey] Token HSBC
Hacking
Diabliyo 0 3,091 Último mensaje 18 Marzo 2014, 19:58 pm
por Diabliyo
[Solucionado] expected unqualified-id before '{' token
Programación C/C++
PepaPeolaRg 2 19,870 Último mensaje 5 Junio 2014, 04:17 am
por PepaPeolaRg
variable DeclaratorId expected after this token
Java
m@o_614 2 2,668 Último mensaje 7 Octubre 2014, 19:51 pm
por MNicolas
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines