Provided by: alliance_5.0-20120515-6_amd64 bug

NAME

       mapabloperexpr - 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 );

SEE ALSO

       abl(1)