addbddcircuitabl - converts an abl expression to a
bdd node.
See the file man1/alc_origin.1.
#include "bdd101.h"
bddnode ∗addbddcircuitabl( BddCircuit, Expr )
bddcircuit ∗BddCircuit;
chain_list ∗Expr;
addbddcircuitabl converts the abl expression
Expr to a bdd node. The BddCircuit is used to translate
the atomic expressions into variable nodes. If a null pointer is given, the
default bdd circuit is used. If an atomic expression doesn't appear
in the BddCircuit input names hash table or output names hash table,
then addbddcircuitabl adds a new input by calling the function
addbddcircuitin with the BDD_IN_MODE_LAST mode.
addbddcircuitabl returns a pointer to the bdd node
translated.
"bad operator xxx error !"
The Expr parameter must be a well defined
abl expression.
#include "bdd101.h"
bddsystem ∗BddSystem;
bddcircuit ∗BddCircuit;
bddnode ∗BddNode;
chain_list ∗Expr;
BddSystem = createbddsystem( 100, 1000, 100, 50000 );
BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
Expr = createablbinexpr( ABL_AND,
createablatom( "i0" ),
createablatom( "i1" ) );
BddNode = addbddcircuitabl( BddCircuit, Expr );
freeablexpr( Expr );
Expr = convertbddcircuitabl( BddCircuit, BddNode );
/* displays (i0 and i1) */
viewablexpr( Expr, ABL_VIEW_VHDL );
freeablexpr( Expr );
destroybddsystem( (bddsystem ∗)0 );
destroybddcircuit( (bddcircuit ∗)0 );
bdd(1), abl(1), convertbddcircuitabl(3).
See the file man1/alc_bug_report.1.