Escolar Documentos
Profissional Documentos
Cultura Documentos
* Ejercicio Vehiculos
* Fecha: 16-Septiembre-2017
* Descripción:
*/
PARSER_BEGIN(ProcesaVehiculos)
import Util.*;
try {
parser.procesaVehiculos();
} catch (ParseException e) {
System.out.println(e.getMessage());
}
// Metodo para personalizar el mensaje error sintactico
" Se esperaba:";
if (i!=0)
res+=" , ";
res+=e.tokenImage[e.expectedTokenSequences[0][i]];
return res;
PARSER_END(ProcesaVehiculos)
SKIP : {
""
| "\t"
| "\n"
| "\r"
TOKEN :
{
<TERMINAR: "FIN">
| <REFERENCIA:
<LETRA_MAY>(<LETRA_MIN>)+"_"(<DIGITO>|<LETRA_MAY>((<DIGITO>)+|(<LETRA_MIN>)+))>
| <VEL_PROMEDIO: (<DIGITO>)+>
| <PLACA: <LETRA_MAY><LETRA_MAY><LETRA_MAY>"-"<DIGITO><DIGITO><DIGITO>>
| <DISTANCIA: (<DIGITO>)+"."(<DIGITO>)+>
| <FIN_LINEA: "*">
| <#DIGITO: ["0"-"9"]>
| <#LETRA_MAY: ["A"-"Z"]>
| <#LETRA_MIN: ["a"-"z"]>
/*
*/
void procesaVehiculos():{
}
void datosBasicos(): {
String referencia;
int velocidad;
}{
try{
<REFERENCIA> {
referencia = token.image;
<VEL_PROMEDIO> {
velocidad = Integer.parseInt(token.image);
<FIN_LINEA>{
tabla.insertar(referencia, velocidad);
}catch(ParseException e){
System.out.println(mensajeError("Datos Basicos",e));
Token t;
do {
t = getNextToken();
void usoVehiculos(): {
}{
try{
<PLACA> {
placa = token.image;
<REFERENCIA> {
referencia = token.image;
<PROPIETARIO>
(<DISTANCIA> {
totalDistancia += Double.parseDouble(token.image);
)+
<FIN_LINEA> {
System.out.println("Placa:"+placa+" Referencia:"+referencia+"
TotalDistancia:"+totalDistancia);
simbolo = tabla.buscar(referencia);
if (simbolo !=null)
System.out.println("SI existe");
else
System.out.println("NO existe");
}
}
}catch(ParseException e){
System.out.println(mensajeError("Uso Vehiculos",e));
Token t;
do {
t = getNextToken();
/*
void procesaVehiculos():{
try {
<REFERENCIA>
tabla.insertar(token.image,50);
| <VEL_PROMEDIO>
| <PLACA>
| <PROPIETARIO>
| <DISTANCIA>
| <FIN_LINEA>
| <RESTO>
)*
(<TERMINAR>|<EOF>)
if (objS != null)
else
System.out.println("Dato no almacenado");
} catch(TokenMgrError e){
catch(ParseException e){
System.out.println(mensajeError("procesaVehiculos",e));
Token t;
do {
t = getNextToken();
}
}*/