sortExpr(2)

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

NAME
sortExpr - sorts an expression

SYNOPSIS
#include "logmmm.h"
void sortExpr(expr,func,direction)
chain_list *expr;
int (*func)();
int direction;

PARAMETERS

expr
    expression to sort

func
    integer function

direction
    increasing or discreasing direction

DESCRIPTION
sortExpr() sorts recursively the arguments of an expression by using a integer function func(). If direction = 1 then the arguments are sorted in increasing order.

EXAMPLE
#include "mutnnn.h"		/* mbk utilities */
#include "logmmm.h"
chain_list *expr1,*expr2;
expr1 = createExpr(OR);
addQExpr(expr1,createAtom("a"));
addQExpr(expr1,createAtom("b"));
expr2 = createExpr(AND);
addQExpr(expr2,createAtom("c"));
addQExpr(expr2,createAtom("d"));
addQExpr(expr1,expr2);
displayExpr(expr1);
sortExpr(expr1,numberAtomExpr,0);
displayExpr(expr1);
/* it will display
(OR a b (AND c d))
(OR (AND c d) a b)
*/
freeExpr(expr1);

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

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