Picon

RE: Identificadores Validos

Respondiendo al mensaje original:

 

>         haber si alguien me puede ayudar plis;
>         necesito hacer una programa en java que me valide solo los
>         identificadore validos que el compilador me acepte;

 

Java, a pesar de ser interpretado, inicialmente realiza una pseudo-compilación a bytecode a un fichero class; es entonces cuando se hace la validación sintáctica, no en el intérprete

Lo que se pretende es saber si el identificador es válido antes de compilar; la siguiente expresión regular valida identificadores en Java, sin necesidad del analizador sintáctico:

 

String[] identifiers = {"", "aAbB234_xXyYzZ", "a", "a2", "a_3", "_a", "a_", "a$", "$a", "\u0041"};

Pattern p = Pattern.compile("[a-zA-Z$_][\\w$]*");

for (String s : identifiers) {

  Matcher m = p.matcher(s);

  System.out.printf("'%s' es válido: %b%n", s, m.matches());

}

 

 

Salida obtenida:

 

'' es válido: false

'aAbB234_xXyYzZ' es válido: true

'a' es válido: true

'a2' es válido: true

'a_3' es válido: true

'_a' es válido: true

'a_' es válido: true

'a$' es válido: true

'$a' es válido: true

'A' es válido: true

 

Un saludo.

Luis Javier López Arredondo

http://es.geocities.com/luisja80

http://hardprogrammer.blogspot.com/

 

 

De: javaSpain-hHKSG33TihhbjbujkaE4pw@public.gmane.org [mailto:javaSpain-hHKSG33TihhbjbujkaE4pw@public.gmane.org] En nombre de Eloy Mier Pérez
Enviado el: lunes, 02 de octubre de 2006 0:59
Para: javaSpain-hHKSG33TihhbjbujkaE4pw@public.gmane.org
Asunto: Re: [javaSpain] Identificadores Validos

 

Bueno, hasta donde yo recuerdo de teoría de compiladores....en el caso de java el "interprete", concretamente el analizador sintáctico, debe decidir si el identificador es o no valido, y por lo tanto esa expresión ha sido ya escrita....

¿o alguien conoce de algún compilador que no sepa si esos identificadores son o no validos?

Salu2

El día 30/09/06, Luis Javier López Arredondo <ljl_luisja-PkbjNfxxIARBDgjK7y7TUQ@public.gmane.org> escribió:

Ojala la expresión regular de los identificadores fuera tan sencilla. Si no, mirad los siguientes identificadores válidos en Java que no siguen la expresión regular:

 

int a = 0;       

int a2 = 0;

int a_3 = 0;

int _a = 0;

int a_ = 0;

int a$ = 0;

int $a = 0;

int \u0041 = 0;

 

Los identificadores válidos se definen en las especificaciones "The Java Language Specification".

http://java.sun.com/docs/books/jls/ à "The Java Language Specification"

http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#40625 à Sección de "The Java Language Specification" dónde se recogen los identificadores válidos.

 

¿Alguien sabría la expresión regular correspondiente a los identificadores válidos en Java?

 

Un saludo

 

Luis Javier López Arredondo

http://es.geocities.com/luisja80

http://hardprogrammer.blogspot.com/

 

De: javaSpain <at> yahoogroups.com [mailto: javaSpain-hHKSG33TihhbjbujkaE4pw@public.gmane.org] En nombre de Sebastian Gurin
Enviado el: viernes, 29 de septiembre de 2006 15:53
Para: javaSpain <at> yahoogroups.com
Asunto: Re: [javaSpain] Identificadores Validos

 

El vie, 29-09-2006 a las 20:26 +0200, Eloy Mier Pérez escribió:
> Yo te diria que le echases un vistazo al tema de las expresiones
> regulares en java....para tratar con ellas la entrada de texto.......

lo mismo digo, y además tener en cuenta que un identificador java válido
pertenece al lenguaje definido por la expresión regular \w[\w\i_]*,
donde \w representa una letra (alfa) e \i representa un dígito. Saludos
>
> El día 29/09/06, dennis <danervo13-mRCrAkd8dF0@public.gmane.org> escribió:
>         hola amigos de la comunidad java;
>        
>         haber si alguien me puede ayudar plis;
>         necesito hacer una programa en java que me valide solo los
>         identificadore validos que el compilador me acepte;
>         es decir ingreso una cadena en una caja de texto y que me
>         mande un
>         mensaje de que si la caden es un identificador valido o no;
>         gracias
>        
>        
>        
>        
>        
>
>
>
> --
> Un saludo. Eloy Mier Pérez.





--
Un saludo. Eloy Mier Pérez.

__._,_.___

Enlaces a Yahoo! Grupos

__,_._,___

Gmane