hola,gracias por tu trabajo, aun no lo he revisado,ni nada pero espero que me sirva,
hace año y medio que no programo en forma asi que me iba a costar algo de trabajo
desempolvarme.
asi que muchas gracias por tu trabajo.
realmente muchas gracias,me ha servido de maravilla.
me falta analizarlo a fondo y hacerle unos minusculos cambios
y una interfaz de usuario, si lo deseas publico aqui el resultado claro con los
debidos agradacimientos
Excelente trabajo, nos has salvado el trasero, de una cogida segura..... iglobiu.... y Gracias
Responder
Eduardo
21 de Septiembre del 2015
Gracias amigo me servira y ahorrare unas cuantas horas
Responder
Walter
15 de Octubre del 2015
Gracias por tu aportación, el codigo funciona muy bien.
Responder
ANONIMUS
23 de Noviembre del 2015
Como se le puede dar credibilidad a esto?
Responder
Carlos
17 de Marzo del 2016
gracias el mio, eres un salvaje
Responder
Jimena
28 de Marzo del 2016
Hola alguien me podra brindar una orientación de la realización de un Analizador lexico en java netbeans en modo consola , sin interfaz.
por ejemplo si tengo una expresión de este tipo :Scanf("%d",resultado);
Que me realize el analisis lexico de esta expresión de modo que cuando teclee cualquier expresión me indique si es una palabra reservada , un simbolo especial, un operador etc. y que por último me indique el número total de tokens.
Scanf("%d",resultado);
Scanf es una palabra reservada
( es un parentesis de apertura
" simbolo especial comillas de apertura
% simbolo especial porcentaje
d es un identificador no.1
" simbolo especial comillas de cerradura
, simbolo especial de coma
resultado es un identificador no.2
) es un parentesis de cerradura
; es un delimitador
Muestre el número total de tokens= 10 tokens.
*****************************************
solo tengo este pequeño ejemplo pero unicamente separa palabras y te da el total de tokens.
package StringTokenizer;
import java.util.StringTokenizer;
public class Programa {
public static void main (String []args) {
StringTokenizer st = new StringTokenizer("Ronaldo=Fútbol;Gasol=Baloncesto;","=;",true);
System.out.println("Hay un total de: "+st.countTokens()+" tokens.");
while (st.hasMoreTokens()) { System.out.println(st.nextToken()); }
}
}
lo que muestra al ejecutar el programa
run:
Hay un total de: 8 tokens.
Ronaldo
=
Fútbol
;
Gasol
=
Baloncesto
;
BUILD SUCCESSFUL (total time: 0 seconds)
Comentarios sobre la versión: Versión 1 (14)
hace año y medio que no programo en forma asi que me iba a costar algo de trabajo
desempolvarme.
asi que muchas gracias por tu trabajo.
me falta analizarlo a fondo y hacerle unos minusculos cambios
y una interfaz de usuario, si lo deseas publico aqui el resultado claro con los
debidos agradacimientos
C:Documents and SettingsFamliaprogramasjava>java tipos
Exception in thread "main" java.lang.NoSuchMethodError: main
por ejemplo si tengo una expresión de este tipo :Scanf("%d",resultado);
Que me realize el analisis lexico de esta expresión de modo que cuando teclee cualquier expresión me indique si es una palabra reservada , un simbolo especial, un operador etc. y que por último me indique el número total de tokens.
Scanf("%d",resultado);
Scanf es una palabra reservada
( es un parentesis de apertura
" simbolo especial comillas de apertura
% simbolo especial porcentaje
d es un identificador no.1
" simbolo especial comillas de cerradura
, simbolo especial de coma
resultado es un identificador no.2
) es un parentesis de cerradura
; es un delimitador
Muestre el número total de tokens= 10 tokens.
*****************************************
solo tengo este pequeño ejemplo pero unicamente separa palabras y te da el total de tokens.
package StringTokenizer;
import java.util.StringTokenizer;
public class Programa {
public static void main (String []args) {
StringTokenizer st = new StringTokenizer("Ronaldo=Fútbol;Gasol=Baloncesto;","=;",true);
System.out.println("Hay un total de: "+st.countTokens()+" tokens.");
while (st.hasMoreTokens()) { System.out.println(st.nextToken()); }
}
}
lo que muestra al ejecutar el programa
run:
Hay un total de: 8 tokens.
Ronaldo
=
Fútbol
;
Gasol
=
Baloncesto
;
BUILD SUCCESSFUL (total time: 0 seconds)
import staric compilador.Token.*;
%%
%class Lexer
%type Token
L=[a-zA-z_]
D=[0-9]
letraO=[o|O]
letraB=[b|B]
digitoB=[0|1]
ligitoB=[0|1|2-7]
letraH=[h|H]
lhexa=[A-F]
WHHITE=[ \t\r\n]
%}
public String lexers;
%}
%%
{WHITE} {/*Ignore*/}
"=" {return IGUAL}
"+" {return SUMA}
"*" {return MULTIPLICACION}
"-" {return RESTA}
"/" {return DIVISION}
">" {return MAYORQUE}
"<" {return MENORQUE}
"<>" {return DIFRENCIA}
"<=" {return MENOR_O_IGUAL_QUE}
">=" {return MAYOR_O_IGUAL_QUE}
"(" {return PARENTESIS_DE_APERTURA}
")" {return PARENTESIS_DE_CIERRE}
"{" {return LLAVE_DE_APERTURA}
"{" {return LLAVE_DE_CIERRE}
([D]*|\.|(D))+ (lexers=yytext(); return DECIMAL)
({lhexa}|(D)| + {letraH} {lexs=yytext(); return HEXADECIMAL;}