mapabloperexpr.3alc - Man Page
applies a function to all operands.
Synopsis
#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 );
See Also
Info
October 1, 1997 ASIM/LIP6 ABL FUNCTIONS