Hola de nuevo! estos días he andado un poco atareado con eso de los programas que me dejan en la uni.. y la verdad es que necesito hacer un programa que me detecte las variables repetidas, también que me compruebe si es el tipo de variable correcta al realizar una operación por ejemplo:
String a,b,c,a;
int b = 12;
a=b;
a ya se ha declarado una ves y a no puede ser igual a b por que son tipos diferentes, el caso es que no se por donde empezar el bendito programa, no vengo a pedir que me lo realicen ajaja eso no es de lo mio, pero si me gustaria que me orientaran acerca de las estructuras y metodos que podria utilizar en java, tengo un codigo de un analizador lexico que hice hace un semestre y no se si lo pueda reutilizar:
String patron =("(public|System|println|nextInt|Scanner|nextDouble|import|class|packaje|private|void|method|event|static|java|arg)|([+|-|/|%|*|=|<|>|>=|<=|!=]+)|(int|double|String|char|boolean)|([0-9]+)|([a-zA-Z]+)");
String codigo;
jTextArea12.setText("");
codigo=jTextArea1.getText();
Pattern p = Pattern.compile(patron);
Matcher mat = p.matcher (codigo);
while (mat.find()){
String reservada = mat.group(1);
if(reservada != null){
jTextArea12.append(reservada+" <--- Palabra reservada \n");
}
String operador = mat.group(2);
if(operador != null){
jTextArea12.append(operador+" <--- Operador\n");
}
String tipoVariable = mat.group(3);
if(tipoVariable != null){
jTextArea12.append(tipoVariable+" <--- Tipo de Variable\n");
}
String numero = mat.group(4);
if(numero != null){
jTextArea12.append(numero+" <--- Numero \n");
}
String cadena = mat.group(5);
if(cadena != null){
jTextArea12.append(cadena+" <--- Cadena \n");
}
}
lo que hace es separar las palabras en tokens de acuerdo al patron, no se si pueda adaptarlo para que me realice las funciones que comente,
Gracias por prestarme atencion :)