Sunteți pe pagina 1din 4

JAVA CC

Ficheros (clases) con cdigo Java


Token.java
descripciones para la comunicacin entre los analizadores lxico y
sintctico
TokenMgrError.java
tratamiento de errores para el anlisis lexicogrfico
ParseException.java
tratamiento de errores para el anlisis sintctico
SimpleCharStream.java
componentes para la realizacin de las tareas de entrada/salida del
analizador
EspLexSinConstants.java
definicin de la representacin interna de las piezas sintcticas
EspLexSinTokenManager.java
analizador lexicogrfico
EspLexSin.java
analizador sintctico

Opciones para las que se puede fijar un valor


Ignore_Case (valor por defecto: false)
indica si en el texto analizado ha de distinguirse o no entre letras minsculas y
maysculas
Build_Parser (valor por defecto: true)
indica si se genera el analizador sintctico o no
Build_Token_Manager (valor por defecto: true)
indica si se genera el analizador lexicogrfico o no
Sanity_Check (valor por defecto: true)
indica si se realizan comprobaciones sobre la gramtica sintctica
Debug_Parser (valor por defecto: false)

indica si se genera una traza para el anlisis lxico-sintctico


Error_Reporting (valor por defecto: true)
indica si los mensajes de error emitidos son ms o menos explicativos
Static (valor por defecto: true)
con el valor por defecto, los mtodos de los analizadores lxico y sintctico se
generan con el descriptor esttico (static)
Ejemplos de expresiones regulares escritas segn la notacin JavaCC
"END"
secuencia de las tres letras maysculas que conforman la palabra END
"while"
secuencia de las cinco letras minsculas que conforman la palabra while
"\n"
carcter representativo del fin de lnea (secuencia de escape)
"\r"
carcter representativo del retorno de carro (secuencia de escape)
":"
carcter dos puntos
":="
secuencia de dos caracteres (smbolo de asignacin en Pascal)
">"
carcter representativo del operador de relacin mayor
("i" | "I")("f" | "F")
palabra if escrita con letras minsculas o maysculas (cuatro
combinaciones)
"if" | "IF"
palabra if escrita slo con minsculas o slo con maysculas (dos
combinaciones)
"u" | "o" | "i" | "e" | "a"

una cualquiera de las vocales minsculas (pero slo una de ellas)


[ "A", "E", "I", "O", "U" ]
una cualquiera de las vocales maysculas (pero slo una de ellas)
[ "a" - "z", "" ]
una cualquiera de las letras minsculas, incluyendo la letra
[ "a" - "z", "A" - "Z", "0" - "9" ]
una cualquiera de las letras o de las cifras decimales
([ "0" - "9" ])+
constante entera (nmero de una o ms cifras)
ntese que es incorrecto poner [ 0" - "9" ]+
( "+" | "-" )?([ "0" - "9" ])+
constante entera, precedida opcionalmente por un signo
ntese que la primera cifra ha de seguir inmediatamente al signo
(si existe)
(["+", "-"])?([ "0" - "9" ])+
representa lo mismo que la expresin anterior
[ "a" - "z" ] ([ "a" - "z", "0" - "9" ])*
una letra minscula, seguida de cero o ms letras minsculas o cifras
decimales
~["a" - "z", "", "A" - "Z", ""]
cualquier carcter que no sea una letra
ntese que la expresin representa un nico carcter
~["\n", "\r"]
cualquier carcter (un nico carcter) excepto el fin de lnea y el retorno
de carro
~[ ]
cualquier carcter del alfabeto (un nico carcter)
([ "0" - "9" ])+ ("." ([ "0" - "9" ])+)?
constante aritmtica, con parte decimal opcional

"Los \"modernos\""
secuencia de catorce caracteres Los "modernos"
ntese el uso de \ para imponer la condicin de carcter del
smbolo comillas
"\"\\n\""
secuencia de cuatro caracteres
"\n"
ntese que aqu no se representa la secuencia de escape