CREATEABLUNARYEXPR(3)

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

πŸ’… CREATEABLUNARYEXPR(3) β€” the abl functions era

ok so bestie, this one lives in the ABL FUNCTIONS section of the manual (section 3, the library-call girlies πŸŽ€) and honestly? she's a little icon. let's get into it.


✨ NAME ✨

createablunaryexpr β€” say it with me: it creates an unary operator expression. that's the whole vibe. πŸ’–


🌈 ORIGIN 🌈

ok 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. very "study abroad semester in Paris" of them, we love. πŸ—Όβœ¨

like, literally go say hi. they want feedback (more on that at the bottom πŸ‘€).


πŸ¦‹ SYNOPSIS πŸ¦‹

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

yes the βˆ— is that funky star character, not your regular *. copy it exactly, bestie, don't fight it. πŸ’€


🌸 PARAMETERS 🌸

  • Oper β€” the unary operator number. like which operator are we wrapping around the thing. that number. πŸ”’
  • Expr β€” the expression. the little guy we're operating on. 🫢

πŸ‘‘ DESCRIPTION πŸ‘‘

so createablunaryexpr creates the unary operator expression Operator Expr. iconic. no notes.

also, quick heads-up while we're here: createablbinexpr combines eventualy the operator of Expr with Operator. (that's what the manpage says, that's what you get β€” I don't make the rules πŸ’…)

⚠️ THE BIG ONE, bestie, listen to me: the expression pointer Expr MUSTN'T be used after the call to this function. like, at all. it's giving "consumed", it's giving "she's gone". do not touch her afterwards. πŸ˜­πŸ™ˆ

⭐ RETURN VALUE ⭐

createablunaryexpr returns a pointer to the new operator expression. fresh out the oven. new main character. πŸ‘‘


πŸ’€ ERRORS πŸ’€

  • "ablcreate: bad operator xx !" β€” this pops off when the Operator must be defined and must be a unary operator. i.e. if it's not defined, or it's defined but it's not unary? boom. that error. fix your operator. πŸ”₯

🧚 EXAMPLE 🧚

ok here's the whole little program-shaped snack, verbatim, slay:

#include "abl101.h"
   chain_list βˆ—ExprA;
   chain_list βˆ—ExprB;
   chain_list βˆ—ExprAorB;
   chain_list βˆ—ExprAnorB;
   ExprA = createablatom( "a" );
   ExprB = createablatom( "b" );
   ExprAorB  = createablbinexpr( ABL_OR, ExprA, ExprB );
   ExprAnorB = createablunaryexpr( ABL_NOT, ExprAorB );

so a and b get made, a OR b gets made, and then the whole a OR b gets negated with ABL_NOT. it's giving nor gate. it's giving circuits. ate. πŸ’–


πŸ”₯ SEE ALSO πŸ”₯

go read these next, i'm obsessed:


πŸ› BUG REPORT πŸ›

ok so this tool is under development at the ASIM department of the LIP6 laboratory. and honestly? they need your feedback to improve documentation and tools. so like… if something's weird, tell them. it's a group project fr fr. πŸ™ˆπŸ’œ


made with love by ASIM/LIP6 🌸 β€” and yes, this lil beauty is dated October 1, 1997, which is lowkey vintage-iconic of her, periodt. πŸŽ€βœ¨

πŸ“¦ where this page comes from