substdupablexpr(3) 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 );