Provided by: alliance_5.0-20120515-6_amd64 bug

NAME

       polarablexpr - moves inverters to the atomic level.

SYNOPSYS

       #include "abl101.h"
       chain_list ∗polarablexpr( Expr, Polar )
         chain_list ∗Expr;
         int         Polar;

PARAMETERS

       Expr                Expression to modify.

       Polar               Expression polarity.

DESCRIPTION

       polarablexpr modifies Expr by moving down the inverters to the atomic level.  polarablexpr
       applies the Morgan's laws. If Polar is equal to ABL_POLAR_NEGATIVE  the  function  returns
       the modified expression after having complemented it.  The expression pointer Expr MUSTN'T
       be used after the call to this function.

RETURN VALUE

       polarablexpr returns the modified expression.

EXAMPLE

       #include "abl101.h"
         chain_list ∗Expr1;
         chain_list ∗Expr2;
         Expr1 = createabloper( ABL_NOT );
         Expr2 = createabloper( ABL_NOT );
         addablhexpr( Expr1, createablatom( "a" ) );
         addablhexpr( Expr2, Expr1 );
         Expr1 = polarablexpr( Expr2, ABL_POLAR_POSITIVE );
         /* displays  a */
         viewablexpr( Expr1, ABL_VIEW_VHDL );

SEE ALSO

       abl(1)