/**Function************************************************************* Synopsis [Reads the network from a BENCH file.] Description [] SideEffects [] SeeAlso [] ***********************************************************************/ Abc_Ntk_t * Io_ReadBench( char * pFileName, int fCheck ) { Extra_FileReader_t * p; Abc_Ntk_t * pNtk; // start the file p = Extra_FileReaderAlloc( pFileName, "#", "\n\r", " \t,()=" ); if ( p == NULL ) return NULL; // read the network pNtk = Io_ReadBenchNetwork( p ); Extra_FileReaderFree( p ); if ( pNtk == NULL ) return NULL; // make sure that everything is okay with the network structure if ( fCheck && !Abc_NtkCheckRead( pNtk ) ) { printf( "Io_ReadBench: The network check has failed.\n" ); Abc_NtkDelete( pNtk ); return NULL; } return pNtk; }
/**Function************************************************************* Synopsis [Starts the reading data structure.] Description [] SideEffects [] SeeAlso [] ***********************************************************************/ Io_ReadBlif_t * Io_ReadBlifFile( char * pFileName ) { Extra_FileReader_t * pReader; Io_ReadBlif_t * p; // start the reader pReader = Extra_FileReaderAlloc( pFileName, "#", "\n\r", " \t" ); if ( pReader == NULL ) return NULL; // start the reading data structure p = ABC_ALLOC( Io_ReadBlif_t, 1 ); memset( p, 0, sizeof(Io_ReadBlif_t) ); p->pFileName = pFileName; p->pReader = pReader; p->Output = stdout; p->vNewTokens = Vec_PtrAlloc( 100 ); p->vCubes = Vec_StrAlloc( 100 ); return p; }