public java.lang.Object runSemanticAction_93()
        throws edu.umn.cs.melt.copper.runtime.logging.CopperParserException
        {
            OperatorAssociativity associativity = (OperatorAssociativity) _children[1];
            @SuppressWarnings("unchecked") LinkedList<CopperElementReference> terminals = (LinkedList<CopperElementReference>) _children[2];
            java.lang.Object RESULT = null;
            
                    for(CopperElementReference name : terminals)
                    {
						Terminal terminal = null;
	                	CopperElementName newTerminalName = name.getName();
	                	if(currentGrammar.getGrammarElements().contains(newTerminalName))
	                	{
	                		if(currentGrammar.getGrammarElement(newTerminalName).getType() != CopperElementType.TERMINAL)
	                		{
	                			logError("Attempt to declare a precedence on '" + newTerminalName + "', which is not a terminal",name.getLocation()); 
	                		}
	                		else
	                		{
	                			terminal = (Terminal) currentGrammar.getGrammarElement(newTerminalName);
	                			if(terminal.getOperatorPrecedence() != null || terminal.getOperatorAssociativity() != null)
	                			{
	                				logError("Precedence declared twice on terminal '" + newTerminalName + "'",name.getLocation());
	                			}
	                		}
	                	}
	                	else
	                	{
        	             	terminal = new Terminal();
		                    terminal.setName(newTerminalName);
	                     	try { currentGrammar.addGrammarElement(terminal); }
	                     	catch(CopperException ex) { logError(ex.getMessage(),getVirtualLocation()); }
	                    }
	                    
	                    if(terminal != null)
	                    {
	                    	terminal.setOperatorPrecedence(nextPrecedence);
	                    	terminal.setOperatorAssociativity(associativity);
	                    }
	                } 
	                nextPrecedence++;
                 
            return RESULT;
        }