substExpr(2)

ORIGIN
Cao-vlsi libraries, log package, libablmmm.a

NAME
substExpr - copies an expression by substituting a given atom by an expression

SYNOPSIS
#include "logmmm.h"
chain_list *substExpr(expr1,name,expr2)
chain_list *expr1;
char *name;
chain_list *expr2;

PARAMETERS

expr1
    expression to copy

name
    name to substitute

expr2
    expression that will remplace name

DESCRIPTION
substExpr() creates a new ABL by copying expr1 in wich each occurence of name is replaced by expr2. expr2 is only copied, therefore it's possible to free it.

EXAMPLE
#include "mutnnn.h"		/* mbk utilities */
#include "logmmm.h"
chain_list *expr1,*expr2,*expr3;
expr1 = createExpr(OR);
addQExpr(expr1,createAtom("a"));
addQExpr(expr1,createAtom("b"));
expr2 = notExpr(createAtom("x"));
expr3 = substExpr(expr1,"a",expr2);
displayExpr(expr1);
displayExpr(expr3);
/* it will display
(OR a b)
(OR (NOT x) b)
*/
freeExpr(expr1);
freeExpr(expr2);
freeExpr(expr3);

SEE ALSO
log(1), abl(1), substPhyExpr(2), copyExpr(2), flatArityExpr(2), flatPolarityExpr(2), maxExpr(2), minExpr(2), sortExpr(2), normExpr(2).

SUPPORT STATUS
if bugs arise, please e-mail to cao-vlsi@masi.ibp.fr