flatArityExpr(2)

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

NAME
flatArityExpr - flattens the operators of an expression

SYNOPSIS
#include "logmmm.h"
chain_list *flatArityExpr(expr)
chain_list *expr;

PARAMETER

expr
    expression to flatten

DESCRIPTION
flatArityExpr() creates a new ABL in which all useless operators are erased. This function doesn't make any simplifications.

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 = createExpr(OR);
addQExpr(expr2,createAtom("a"));
addQExpr(expr2,createAtom("c"));
addQExpr(expr1,expr2);
expr3 = flatArityExpr(expr1);
displayExpr(expr1);
displayExpr(expr3);
/* it will display
(OR a b (OR a c))
(OR a b a c)
*/
freeExpr(expr1);
freeExpr(expr3);

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

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