private boolean nameIsDefined(CopperElementReference symbol)
	{
		if(!symbol.isFQ())
		{
			if(currentGrammar == null || !currentGrammar.getGrammarElements().contains(symbol.getName()))
			{
				reportError(symbol.getLocation(),"Undefined reference to " + symbol.getName());
				return false;
			}
			else return true;
		}
		else
		{
			if(!currentParser.getGrammars().contains(symbol.getGrammarName()))
			{
				reportError(symbol.getLocation(),"Undefined reference to grammar " + symbol.getGrammarName());
				return false;
			}
			else if(!currentParser.getGrammar(symbol.getGrammarName()).getGrammarElements().contains(symbol.getName()))
			{
				reportError(symbol.getLocation(),"Undefined reference to " + (currentParser.isUnitary() ? symbol.getName() : symbol));
				return false;
			}
			else return true;
		}
	}