1POLARDUPABLEXPR(3) ABL FUNCTIONS POLARDUPABLEXPR(3)
2
3
4
6 polardupablexpr - duplicates an expression and moves down the invert‐
7 ers.
8
9
11 #include "abl101.h"
12 chain_list ∗polardupablexpr( Expr, Polar )
13 chain_list ∗Expr;
14 int Polar;
15
17 Expr Expression to modify.
18
19 Polar Expression polarity.
20
22 polardupablexpr modifies Expr by moving down the inverters to the
23 atomic level. polardupablexpr applies the Morgan's laws. If Polar is
24 equal to ABL_POLAR_NEGATIVE the function returns the modified expres‐
25 sion after having complemented it.
26
28 polardupablexpr 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 = polardupablexpr( 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 POLARDUPABLEXPR(3)