MAPABLOPEREXPR(3)

πŸ“¦ version 5.1.1, in fedora 43, fedora 44

πŸ’– MAPABLOPEREXPR πŸ’–

okay bestie, welcome to the mapabloperexpr page from the ABL FUNCTIONS section of the manual (section 3, library calls, iykyk) ✨ this one's a little function-wrangler and she's cute, let's get into it 🫢


🌸 NAME 🌸

mapabloperexpr β€” applies a function to all operands πŸ’…


πŸŽ€ ORIGIN πŸŽ€

okay 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 πŸ₯βœ¨


✨ SYNOPSIS ✨

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

πŸ¦‹ PARAMETERS πŸ¦‹

  • Function β€” the name of the function you're applying to, like, every single operand πŸ’«
  • Oper β€” the operator number, she's just a number bestie πŸ”’
  • Expr β€” the expression you're scanning through πŸ‘€

πŸ’œ DESCRIPTION πŸ’œ

so mapabloperexpr applies Function to all the operands of Expr 🌈

here's the tea: mapablopoperexpr 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 πŸ’–

and heads up β€” Function must return an expression and must have a unique expression as argument. no cap, that's the rule 🚨


πŸ‘‘ RETURN VALUE πŸ‘‘

mapabloperexpr returns a new expression, made by applying Function to all the arguments of the operator expression Expr ⭐ it's giving "new expression, who dis" but make it math πŸ’…


πŸ“ 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 that comment? it literally displays ((not a) and (not b)) β€” ate and left no crumbs 😭πŸ”₯


🌈 SEE ALSO 🌈


πŸ™ˆ BUG REPORT πŸ™ˆ

this tool is under development at the ASIM department of the LIP6 laboratory πŸ› οΈ and fr fr, we need your feedback to improve documentation and tools β€” so tell us everything, bestie, we're listening 🫢


and that's the whole page, no notes ✨ this came to you from ASIM/LIP6, dated October 1, 1997 β€” a literal vintage icon πŸ’…πŸŽ€ stay hydrated, read your man pages, and go apply some functions to some operands, mwah πŸ’–