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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Numeros negativos en compiladores
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Numeros negativos en compiladores  (Leído 2,834 veces)
danielo-

Desconectado Desconectado

Mensajes: 218


:)


Ver Perfil
Numeros negativos en compiladores
« en: 17 Septiembre 2010, 06:01 am »

Hola a todos, tengo una duda acerca de la construccion de compiladores, especificamente en la construccion del analizador lexico, y es acerca de los numeros negativos, lo que pasa, que un token valido deberia de ser -343 no? realmente lo validaria en la tabla de simbolos como un numero negativo, pero que pasa si escribo
int o= 3-4?
Es decir si yo pongo
int o=-4     
En la tabla de simbolos entraria:
int variable = numero

pero y si yo escribo
int o=4-3
En la tabla de simbolos entraria:
int variable = numero numero

lo cual estaria mal, pues deberia entrar
int variable = numero - numero

no? cual seria la condicion para establecer esto? o acaso estoy equivocado?
Porfavor, alguien que me aclare mi duda :)


En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Numeros negativos en compiladores
« Respuesta #1 en: 17 Septiembre 2010, 07:39 am »

defines que elementos van a delimitar a los tokens, esto es generalemente el signo de espacio, pero tambieen pueden ser los simbolos aritmeticos logicos, parentesis, puntos, comas etc, sigono = etc,
asi por ejem

si encuentra esto
*nt var= -23;
recoge int, que la identifica como palabra resevada
despues var, que al no ser una palabra reservada, la mete como variable a la talba e variables
despues el signo igual
cpn el signo no se
creo que depende de como lo quieras manejar
si seria 0  mnenos 23
o podria ser
-23

lo puedes manejar como el signo del numero o como una operacion y asi omites el signo del numero la verdad como nunca lo implemente.

intentale asi
int var= 3-4;
int variable= numero - numero
y
int var=-34;
int variable= 0 - numero


intentá asi, y si te sale lo rolas! xD


En línea

abc
danielo-

Desconectado Desconectado

Mensajes: 218


:)


Ver Perfil
Re: Numeros negativos en compiladores
« Respuesta #2 en: 17 Septiembre 2010, 08:12 am »

Umm... ya entendi tu punto, jaja.. creo que no estaba pensando, el problema con lo que me haz dicho primero, es que mi maestro nos dijo que hay una regla a seguir en el desarrollo de un analizador lexico, el fin de un automata, es el principio del segundo... esto es, que si yo pongo:
int var=1
me deberia reconocer
int variable = 1
a pesar de que se este pegado el texto(var=1),
pero ahora que lo pienso, es mi lenguaje, y yo puedo definir la sintaxis en especial del operador negativo
es decir que puedo especificar que si hay un - entonces es un signo negativo, pero si existe un -numero, entonces lo considerara como un numero negativo aun a pesar del contexto en el que se encuentre XD y problema solucionado :) ajajja... no se que tan tonto suene, pero pues asi lo are :) jajaja gracias por ayudarme a pensar... :S ya solo me falta una ultima duda y estara listo! =D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como proteger mi pc de programas negativos
Seguridad
LovePeace2012 9 5,170 Último mensaje 28 Mayo 2011, 00:38 am
por skapunky
Negativos en batch « 1 2 »
Scripting
wiluxion 10 8,933 Último mensaje 8 Junio 2012, 17:27 pm
por Puntoinfinito
detectar valores negativos vector
Programación C/C++
indict 2 2,301 Último mensaje 11 Diciembre 2012, 17:31 pm
por satu
Votos negativos youtube ? Where are they ?
Foro Libre
#!drvy 2 2,662 Último mensaje 2 Mayo 2013, 23:33 pm
por daryo
Contador de números positivos y negativos
Java
K3NS4N 2 7,275 Último mensaje 23 Mayo 2014, 13:50 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines