//created on: Sun Oct 30 14:08:51 CST 2005 class Tool { public boolean modelDebug( SATtest t, boolean saveInFile, StringBuffer out ) { boolean result = false; SATSolver s = new SATSolver(); try { if ( saveInFile ) { solverTest.createOutputFile( model, t ); result = s.solve( solverTest.input2SATSolver ); } else { // use in-memory file solverTest.createOutputBuffer( model, t ); result = s.solve( new LineNumberReader( new StringReader( solverTest.cnfFileString ) ) ); } out.append(s.decode(true)); } catch (Exception e) { Util.fatalError( "failed in debugging model " + e.getMessage() ); } return result == t.isSat; } /* public Tool (String modelFileName){ // Step 1: open the guidsl model file FileInputStream inputFile = null; try { inputFile = new FileInputStream( modelFileName ); } catch ( Exception e ) { Util.fatalError( "File " + modelFileName + " not found:" + e.getMessage() ); } // Step 2: create a parser and parse input files // inputRoot is root of parse tree of input file Parser myParser = Parser.getInstance( inputFile ); Model inputRoot = null; try { inputRoot = ( Model ) myParser.parseAll() ; } catch ( Exception e ) { Util.fatalError( "Parsing Exception Thrown in " + modelFileName + ": " + e.getMessage() ); } // Step 3: transform parse tree here into the internal format try { Main.process( inputRoot ); } catch( SemanticException e ) { int errorCnt = Util.errorCount(); Util.fatalError( errorCnt + " error(s) found"); } // Step 4: initialize any additional state variables model = cnfModel.init(); } */ /* public Tool ( StringBuffer modelString ) { // Step 2: create a parser and parse input files // inputRoot is root of parse tree of input file Parser myParser = Parser.getInstance( new StringReader(modelString.toString()) ); Model inputRoot = null; try { inputRoot = ( Model ) myParser.parseAll() ; } catch ( Exception e ) { Util.fatalError( "Parsing Exception Thrown " + e.getMessage() ); } // Step 3: transform parse tree here into the internal format try { Main.process( inputRoot ); } catch( SemanticException e ) { int errorCnt = Util.errorCount(); Util.fatalError( errorCnt + " error(s) found"); } // Step 4: initialize any additional state variables model = cnfModel.init(); } // end constructor */ }