1POLARABLEXPR(3) ABL FUNCTIONS POLARABLEXPR(3)
2
3
4
6 polarablexpr - moves inverters to the atomic level.
7
8
10 #include "abl101.h"
11 chain_list ∗polarablexpr( Expr, Polar )
12 chain_list ∗Expr;
13 int Polar;
14
16 Expr Expression to modify.
17
18 Polar Expression polarity.
19
21 polarablexpr modifies Expr by moving down the inverters to the atomic
22 level. polarablexpr applies the Morgan's laws. If Polar is equal to
23 ABL_POLAR_NEGATIVE the function returns the modified expression after
24 having complemented it. The expression pointer Expr MUSTN'T be used
25 after the call to this function.
26
28 polarablexpr returns the modified expression.
29
31 #include "abl101.h"
32 chain_list ∗Expr1;
33 chain_list ∗Expr2;
34 Expr1 = createabloper( ABL_NOT );
35 Expr2 = createabloper( ABL_NOT );
36 addablhexpr( Expr1, createablatom( "a" ) );
37 addablhexpr( Expr2, Expr1 );
38 Expr1 = polarablexpr( Expr2, ABL_POLAR_POSITIVE );
39 /* displays a */
40 viewablexpr( Expr1, ABL_VIEW_VHDL );
41
43 abl(1)
44
45
46
47
48
49
50ASIM/LIP6 October 1, 1997 POLARABLEXPR(3)