MAPABLOPEREXPR(3)

πŸ“¦ version 5.1.1-unstable-2025-02, in nixos 26.05, nixpkgs unstable

πŸ’« MAPABLOPEREXPR(3) πŸ’«

okay bestie, gather round β€” this one lives in the ABL FUNCTIONS manual section and it's literally the "do the thing to every operand" function. no cap. πŸŽ€


🌈 ORIGIN

so this software belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at the LIP6 laboratory of UniversitΓ© Pierre et Marie CURIE, in Paris, France. iconic lineage fr. πŸ‘‘


✨ SYNOPSIS

#include "abl101.h"
chain_list βˆ—mapabloperexpr( Function, Oper, Expr )
  chain_list βˆ— (βˆ—Function)();
  long       Oper;
  chain_list βˆ—Expr;

πŸ¦‹ PARAMETERS

  • Function β€” the function name you're gonna apply to all the operands. like, the whole personality of this call.
  • Oper β€” the operator number. yes it's a number, don't come at me.
  • Expr β€” the expression you're scanning. the main character, honestly.

πŸ’… DESCRIPTION

mapabloperexpr applies Function to all operands of Expr. it creates a head of an operator expression having Oper as operator, and then adds the arguments calculated by applying Function to each argument of Expr. 🫢

lowkey important: Function must return an expression and must have a unique expression as argument. like, that's the vibe check it has to pass. no exceptions. πŸ’€

🌸 RETURN VALUE

mapabloperexpr returns a new expression by applying Function to all the arguments of the operator expression Expr. fresh out the oven, squeaky clean, brand new. ✨


πŸ“ 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 );

and yes, the comment literally says it displays ((not a) and (not b)) β€” she ate that. πŸ”₯


πŸ‘‘ SEE ALSO

  • abl(1) β€” go read it bestie, iykyk

πŸ™ˆ BUG REPORT

this tool is under development at the ASIM department of the LIP6 laboratory. they literally need your feedback to improve documentation and tools β€” so if something's giving bug, tell them! not me, them. πŸ’œ


πŸ’– and that's the whole page, periodt. now go map some operands, bestie.

β€” xoxo, from ASIM/LIP6, dated October 1, 1997 🌈⭐

πŸ“¦ where this page comes from