package org.solrmarc.index.indexer;
import org.apache.log4j.Logger;
//import org.apache.log4j.Logger;
import java_cup.runtime.ComplexSymbolFactory;
import java_cup.runtime.Symbol;
public class VerboseSymbolFactory extends ComplexSymbolFactory
{
private final static Logger logger = Logger.getLogger(VerboseSymbolFactory.class);
@Override
public Symbol newSymbol(String name, int id, Object value)
{
Symbol sym = super.newSymbol(name, id, value);
logger.debug("Returning symbol: " + name + " value is : " + value);
return (sym);
}
@Override
public Symbol newSymbol(String name, int id)
{
Symbol sym = super.newSymbol(name, id);
logger.debug("Returning symbol: " + name);
return (sym);
}
/**
* newSymbol
* creates a complex symbol with Location objects for left and right boundaries;
* this is used for terminals with values!
*/
public Symbol newSymbol(String name, int id, Location left, Location right, Object value)
{
Symbol sym = super.newSymbol(name, id, left, right, value);
logger.debug("Returning symbol: " + name + " value is : " + value);
return (sym);
}
/**
* newSymbol
* creates a complex symbol with Location objects for left and right boundaries;
* this is used for terminals without values!
*/
public Symbol newSymbol(String name, int id, Location left, Location right)
{
Symbol sym = super.newSymbol(name, id, left, right);
logger.debug("Returning symbol: " + name);
return (sym);
}
// public Symbol newSymbol(String name, int id, Symbol left, Object value)
// {
// Symbol sym = super.newSymbol(name, id, left, value);
// System.err.println("Returning symbol: " + name);
// return (sym);
// }
public Symbol newSymbol(String name, int id, Symbol left, Symbol right, Object value)
{
Symbol sym = super.newSymbol(name, id, left, right, value);
logger.debug("Returning symbol: " + name + " value is : " + value);
return (sym);
}
public Symbol newSymbol(String name, int id, Symbol left, Symbol right)
{
Symbol sym = super.newSymbol(name, id, left, right);
logger.debug("Returning symbol: " + name);
return (sym);
}
}