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

NAME

       substdupablexpr - substitutes a given atom by an expression.

SYNOPSYS

       #include "abl101.h"
       chain_list ∗substdupablexpr( Expr1, Name, Expr2 )
         chain_list ∗Expr1;
         char       ∗Name;
         chain_list ∗Expr2;

PARAMETERS

       Expr1               First expression.

       Name                Atom name.

       Expr                Second expression.

DESCRIPTION

       substdupablexpr duplicates and substitutes Atom in Expr1 by Expr2.

RETURN VALUE

       substdupablexpr returns the duplicated and modified expression.

EXAMPLE

       #include "abl101.h"
         chain_list ∗Expr1;
         chain_list ∗Expr2;
         chain_list ∗Expr3;
         Expr1 = createablbinexpr( ABL_OR,
                                   createablatom( "a" ),
                                   createablatom( "b" ) );
         Expr2 = createablbinexpr( ABL_AND,
                                   createablatom( "c" ),
                                   createablatom( "d" ) );
         Expr3 = substdupablexpr( Expr1, "a", Expr2 );
         /* displays ((c and d) or b) */
         viewablexpr( Expr1, ABL_VIEW_VHDL );

SEE ALSO

       abl(1), substablexpr(3).