UNFLATABLEXPR(3)

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

πŸ’– UNFLATABLEXPR πŸ’– (that's the UNFLATABLEXPR(3) page, from the ABL FUNCTIONS manual, bestie)


✨ NAME ✨

unflatablexpr β€” unflats the operators of an expression


🌍 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. Very demure, very academic, we love her. πŸŽ€


πŸ“œ SYNOPSIS πŸ“œ

#include "abl101.h"
void unflatablexpr( Expr )
  chain_list βˆ—Expr;

🧸 PARAMETERS 🧸

  • Expr β€” the expression you wanna unflat. That's it, that's the whole assignment. πŸ¦‹

πŸ’« DESCRIPTION πŸ’«

So unflatablexpr goes into Expr and modifies all the operators in there, so that you end up with exclusively binary or unary operators. No n-ary nonsense, no flat little friend-groups of five operators holding hands. She's splitting them up. Periodt. πŸ’…


🫢 RETURN VALUE 🫢

unflatablexpr returns the modified expression. She gives you the goods back. πŸ”₯


🌸 EXAMPLE 🌸

#include "abl101.h"
  chain_list βˆ—Expr1;
  chain_list βˆ—Expr2;
  Expr1 = createbinexpr( ABL_OR,
                         createablatom( "a" ),
                         createablatom( "b" ) );
  addablqexpr( Expr1, createablatom( "c" ) );
  Expr2 = unflatablexpr( dupablexpr( Expr1 ) );
  /* displays ((a or b) or c) (a or b or c) */
  viewablexpr( Expr2, ABL_VIEW_VHDL );
  viewablexpr( Expr1, ABL_VIEW_VHDL );

Note how Expr1 stays flat as a pancake and Expr2 got the unflat treatment β€” same vibe, different silhouette. The dupablexpr is doing the heavy lifting of keeping the original safe, which is so thoughtful of it ngl. 😭


πŸ‘€ SEE ALSO πŸ‘€

abl(1), ununflatablexpr(3).

(Yes, ununflatablexpr is a real page and yes, the name is iconic. The reverse of the reverse. Queen behaviour. πŸ‘‘)


πŸ› BUG REPORT πŸ›

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

We need your feedback to improve documentation and tools. Fr fr, your girl is literally asking. Tell them what's broken, what's confusing, what made you go πŸ’€. They wanna hear it.


⭐ Real talk: this page is ASIM/LIP6, dated October 1, 1997 β€” an absolute elder icon who's been serving binary-or-unary energy for decades and still ate. Go unflat your expressions, bestie. The operators deserve structure. πŸŒˆπŸ’œ