mapabloperexpr.3alc man page

mapabloperexpr — 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

abl(1)

Info

October 1, 1997 ASIM/LIP6 ABL FUNCTIONS