Salve, ho un piccolo problema nello scorrere una lista per determinare se un dato valore le appartiene o no:
codice:
valorizzazione ::= punteggio:punt identificatore:nome 
 {: 	//Recupera l'idenficatore della prodotto selezionato 	
String identificatoreClasse = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value; 	 	
//Ricerca ed individua nella hash table l'idenficatore corrispondente alla classe corrente (identificatoreClasse) 	

List lista_attributi = (List)parser.Tabellahash.get(identificatoreClasse); 	
//Ricerca ed individua nella lista il peso associato a questo attributo 	
int peso = ((Attributo)lista_attributi.get(lista_attributi.indexOf(new Attributo(nome)))).peso;	 		 	

for(int i=0;i<lista_attributi.size();i++){     				
                           if(lista_attributi.get(i).equals(nome)){         			
                            System.out.println(lista_attributi.get(i) ; ) ; 				
                           RESULT = new Integer(peso * punt.intValue());} 	 	

                             else {
//Eseguo il calcolo,moltiplica il peso dell'attributo per il valore associato ad esso 		
                                      RESULT = new Integer(peso * 1); 
                                      } 
                           }							 
:};
In poche parole ho una regola di produzione del parser, che dovrebbe cercare se nella ListaAttributo c'è il termine Idenficatore:nome ed una volta trovato, fare gli opportuni calcoli!
Attributo è una semplice classe allocata quando serve per contenere i dati che si trovano nella hashmap.

Vi sarei grata se qualcuno avesse qualche suggerimento! Sto fondendo!