Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: =?iso-8859-1?Q?Luis_Javier_L=F3pez_Arredondo?= <ljl_luisja-PkbjNfxxIARBDgjK7y7TUQ <at> public.gmane.org>
Subject: RE: Identificadores Validos
Newsgroups: gmane.comp.java.javaspain
Date: Monday 2nd October 2006 12:44:57 UTC (over 10 years ago)
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: [email protected]
[mailto:[email protected]] En nombre
de Eloy Mier Pérez
Enviado el: lunes, 02 de octubre de 2006 0:59
Para: [email protected]
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

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: [email protected] [mailto:
[email protected]
 ] En nombre de
Sebastian Gurin
Enviado el: viernes, 29 de septiembre de 2006 15:53
Para: [email protected]
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 
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.
 
CD: 4ms