import Jakarta.util.*;
import java.util.*;
import java.io.*;
class variable {
int number = -1;
public static variable define( String name, int type, gObj g, boolean redefinable ) {
variable result = original( name, type, g, redefinable );
if ( result.number == -1 ) {
result.number = variable.vtsize;
// for debugging cnf files
// System.out.println(result.number + " " +result.name);
}
return result;
}
static variable find( String name ) {
return ( variable ) Vtable.get( name );
}
static int findNumber( String name ) throws dparseException {
variable v = find( name );
if ( v != null )
return v.number;
throw new dparseException( "unrecognizable variable: " + name );
}
static String findVar( int num ) {
Iterator i = Vtable.values().iterator();
while ( i.hasNext() ) {
variable v = ( variable ) i.next();
if ( v.number == num )
return v.name;
}
return null;
}
// for debugging cnf files
static void dumpVariablesInOrder( PrintWriter pw ) {
try {
for ( int i=0; i<Vtable.size(); i++ ) {
int v = i+1;
pw.println( "c c " + v + " " + findVar( v ) );
}
}
catch ( Exception e ) {
Util.fatalError( "dumpVariablesInOrder Exception " +
e.getMessage() );
}
}
}