mapabloperexpr(3)
applies a function to all operands.
SYNOPSYS
#include "abl101.h"
chain_list *mapabloperexpr( Function, Oper, Expr )
chain_list * (*Function)();
long Oper;
chain_list *Expr;
PARAMETERS
- Function
-
-
Function name to apply to all operands.
- Oper
-
Operator number.
- Expr
-
Expression to scan.
DESCRIPTION
mapabloperexpr applies Function to all operands of Expr.
mapabloperexpr creates a head of an operator expression having
Oper as operator and adds the arguments calculated by applying
Function to each arguments of Expr.
Function must return an expression and must have a
unique expression as argument.
RETURN VALUE
mapabloperexpr returns a new expression by applying Function
to all the arguments of the operator expression Expr.
EXAMPLE
#include "abl101.h"
chain_list *MapFunction( MapExpr )
chain_list *MapExpr;
{
return( createablnotexpr( dupablexpr( MapExpr ) ) );
}
chain_list *Expr;
chain_list *Expr1;
Expr = createablbinexpr( ABL_NOR,
createablatom( "a" ),
createablatom( "b" ) );
Expr1 = mapabloperexpr( MapFunction, ABL_AND, Expr );
/* displays ((not a) and (not b)) */
viewablexpr( Expr1, ABL_VIEW_VHDL );