ADDHEXPR(3)

NAME
addHExpr - adds a new argument at the head of an operator expression.

SYNOPSYS
#include "logmmm.h"
void addHExpr(expr1,expr2)
chain_list *expr1,*expr2;

PARAMETERS

expr1
    expression that recieves expr2.

expr2
    Argument to add (atomic or operator expression).

DESCRIPTION
addHExpr() adds expr2 at the head of the expression expr1. This procedure doesn't make any simplifications.

EXAMPLE
#include "mutnnn.h"		/* mbk utilities */
#include "logmmm.h"
chain_list *expr1,*expr2;
expr1 = createExpr(OR);
addHExpr(expr1,createAtom("var1"));
expr2 = createExpr(OR);
addHExpr(expr2,createAtom("var1"));
addHExpr(expr2,createAtom("var2"));
addHExpr(expr1,expr2);
displayExpr(expr1);
/* it will display
(OR (OR var2 var1) var1)
*/
freeExpr(expr1);	/* don't free expr2 ! */

ERROR
"addHExpr : error - bad argument
expr1 must be an operator expression.

SEE ALSO
log(1), abl(1), createAtom(3), notExpr(3), addQExpr(3), createBinExpr(3), createExpr(3), addQExpr(3), freeExpr(3).