30 #define MIO_SYMB_AND '*'
31 #define MIO_SYMB_AND2 '&'
32 #define MIO_SYMB_OR '+'
33 #define MIO_SYMB_OR2 '|'
34 #define MIO_SYMB_XOR '^'
35 #define MIO_SYMB_NOT '!'
36 #define MIO_SYMB_AFTNOT '\''
37 #define MIO_SYMB_OPEN '('
38 #define MIO_SYMB_CLOSE ')'
94 if ( pName == NULL )
return NULL;
115 char * pPinNames[100];
116 char * pPinNamesCopy[100];
149 printf(
"Cannot parse formula \"%s\" of gate \"%s\".\n", pGate->
pForm, pGate->
pName );
160 printf(
"Cannot read formula \"%s\" of gate \"%s\".\n", pGate->
pForm, pGate->
pName );
175 ppPin = &pPin->
pNext;
176 for ( i = 1; i < nPins; i++ )
181 (*ppPin)->pName = pPinNames[i];
183 ppPin = &((*ppPin)->pNext);
188 pPin->
pName = pPinNames[0];
197 for ( i = 0; i < nPins; i++ )
199 if ( pPinNames[i] &&
strcmp( pPinNames[i], pPin->
pName ) == 0 )
205 pPinNamesCopy[iPin++] = pPin->
pName;
210 printf(
"Cannot find pin name \"%s\" in the formula \"%s\" of gate \"%s\".\n",
218 for ( i = 0; i < nPins; i++ )
221 printf(
"Name \"%s\" appears in the formula \"%s\" of gate \"%s\" but there is no such pin.\n",
227 memcpy( pPinNames, pPinNamesCopy, nPins *
sizeof(
char *) );
231 if ( dd->
size < nPins )
240 if ( pGate->bFunc == NULL )
272 strcpy( Buffer, pFormula );
275 for ( pTemp = Buffer; *pTemp; pTemp++ )
285 pTemp =
strtok( Buffer,
" " );
288 for ( i = 0; i < nPins; i++ )
289 if (
strcmp( pTemp, pPinNames[i] ) == 0 )
296 pTemp =
strtok( NULL,
" " );
#define CUDD_UNIQUE_SLOTS
#define Mio_GateForEachPin(Gate, Pin)
word Mio_DeriveTruthTable6(Mio_Gate_t *pGate)
char * Mem_FlexEntryFetch(Mem_Flex_t *p, int nBytes)
ABC_NAMESPACE_HEADER_START DdNode * Parse_FormulaParser(FILE *pOutput, char *pFormula, int nVars, int nRanks, char *ppVarNames[], DdManager *dd, DdNode *pbVars[])
INCLUDES ///.
char * Abc_ConvertBddToSop(Mem_Flex_t *pMan, DdManager *dd, DdNode *bFuncOn, DdNode *bFuncOnDc, int nFanins, int fAllPrimes, Vec_Str_t *vCube, int fMode)
#define ABC_NAMESPACE_IMPL_END
DdManager * Cudd_Init(unsigned int numVars, unsigned int numVarsZ, unsigned int numSlots, unsigned int cacheSize, unsigned long maxMemory)
Mio_Pin_t * Mio_PinDup(Mio_Pin_t *pPin)
STRUCTURE DEFINITIONS ///.
#define ABC_NAMESPACE_IMPL_START
int Cudd_zddVarsFromBddVars(DdManager *dd, int multiplicity)
void Cudd_Quit(DdManager *unique)
#define Mio_LibraryForEachGate(Lib, Gate)
GLOBAL VARIABLES ///.
char * Abc_UtilStrsav(char *s)
#define MIO_STRING_CONST1
#define MIO_STRING_CONST0