DELABLEXPRNUM(3)

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

πŸ’– DELABLEXPRNUM(3) β€” the ABL FUNCTIONS girlies πŸ’–

okay bestie, sit down, we're doing a manual page and honestly? it's a short one, we can do this together. this is delablexprnum, from the ABL FUNCTIONS section of the manual, and it's lowkey one of the most satisfying little functions out there. it deletes stuff. that's it. that's the vibe. πŸ’…


✨ NAME ✨

delablexprnum β€” deletes an operand in an expression.

no cap, that's the whole job description. she removes an operand. iconic behavior honestly. πŸŽ€


🌸 ORIGIN 🌸

okay so this software belongs to the ALLIANCE CAD SYSTEM, which was developed by the ASIM team at the LIP6 laboratory of UniversitΓ© Pierre et Marie CURIE, in Paris, France. oui oui, trΓ¨s chic. πŸ₯βœ¨


πŸ¦‹ SYNOPSIS πŸ¦‹

#include "abl101.h"
void delablexprnum( Expr, Number )
  chain_list βˆ—Expr;
  int         Number;

look at her. void return type. she takes and she takes and she gives nothing back. main character energy fr fr. πŸ‘‘


πŸ’œ PARAMETERS πŸ’œ

  • Expr β€” the expression where you're deleting an operand. like, this is the victim, bestie. πŸ’€
  • second_param β€” the operand number. yes, the doc literally calls it second_param, and yes, we're keeping it exactly like that, don't @ me. 🫢

⭐ DESCRIPTION ⭐

so delablexprnum deletes the operand Number + 1 in Expr.

that's the +1, babes. the math is mathing, and it means the counting starts at 1, not 0. keep that in your head or you'll delete the wrong thing and we'll both be sad. 😭


πŸŽ€ RETURN VALUE πŸŽ€

delablexprnum returns nothing.

literally nothing. no int, no status code, no little "hey bestie, it worked!" note. void. she's mysterious like that. 🌈


πŸ”₯ EXAMPLE πŸ”₯

#include "abl101.h"
   chain_list βˆ—ExprA;
   chain_list βˆ—ExprB;
   chain_list βˆ—ExprC;
   chain_list βˆ—ExprAorBorC;
   ExprA = createablatom( "a" );
   ExprB = createablatom( "b" );
   ExprC = createablatom( "c" );
   ExprAorBorC = createablbinexpr( ABL_OR, ExprA, ExprB );
   ExprAorBorC = createablbinexpr( ABL_OR, ExprAorBorC, ExprC );
   ...
   delablexprnum( ExprAorBorC, 2 );
   /* displays (a or b) */
   viewablexpr( ExprAorBorC, ABL_VIEW_VHDL );

so we build a, b, c as atoms, smash them together with ABL_OR until we've got the whole a or b or c situation going on, and then β€” plot twist β€” we call delablexprnum( ExprAorBorC, 2 ); and now c is gone. deleted. unalived. πŸ™ˆ

and because of that sneaky Number + 1, operand 2 means the third one, which is c. so we're left with (a or b) and the comment says it all: /* displays (a or b) */. she ate and left no crumbs. πŸ“

then viewablexpr( ExprAorBorC, ABL_VIEW_VHDL ); shows it off in VHDL flavor. slay. ✨


πŸ’– SEE ALSO πŸ’–

go read those too, i'm not gonna gatekeep my faves. iykyk. 🌸


🧚 BUG REPORT 🧚

this tool is under development at the ASIM department of the LIP6 laboratory.

we need your feedback to improve documentation and tools.

that's a real ask, bestie β€” if something's broken or the docs are giving nothing, tell them. constructive feedback is self care. 🫢


okay that's the whole page!! ASIM/LIP6, October 1, 1997 β€” that's the source and the date, vintage queen, still serving πŸ’…βœ¨ bye bestie, go delete some operands responsibly!! πŸŽ€πŸ’–πŸ¦‹