UNFLATABLEXPR(3)
π UNFLATABLEXPR(3) β like, the ABL FUNCTIONS girlies
okay so bestie, welcome to UNFLATABLEXPR(3) from the ABL FUNCTIONS manual section β yes the whole manual is literally called that, and yes we're gonna get through this together π«Ά
β¨ NAME β¨
unflatablexpr β unflats the operators of an expression π«
(that's it. that's the whole name section. iconic, honestly.)
πΈ ORIGIN πΈ
for the lore girlies: this software belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at LIP6 laboratory of UniversitοΏ½ Pierre et Marie CURIE, in Paris, France π₯β¨
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
no cap, that's the whole origin story. write it down π
π SYNOPSIS π
#include "abl101.h"
void unflatablexpr( Expr )
chain_list βExpr;
like, that's the whole vibe check right there π₯
π¦ PARAMETERS π¦
Exprβ the expression you want to unflat, bestie. that's the one. that's the assignment π
π DESCRIPTION π
so here's the tea, and it's actually good tea β:
unflatablexpr modifies all the operators in Expr so that you end up with exclusively binary or unary operators β¨ like, every single one. no n-ary stragglers left behind. periodt.
β RETURN VALUE β
unflatablexpr returns the modified expression π (yes, it returns it! it also modifies it! both things! we love a multitasker π)
π EXAMPLE π
okay this is the part where it all clicks, watch:
#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 );
see how Expr1 is all flat and n-ary and messy, and Expr2 β the unflattened duplicate β comes out all ((a or b) or c)? that's the whole point babes πβ¨ the comment in there literally tells you what gets displayed, so don't @ me.
π SEE ALSO π
abl(1)ununflatablexpr(3)
(yes, ununflatablexpr is a real thing. I said what I said. iykyk π)
π BUG REPORT π
real talk for a sec: this tool is under development at the ASIM department of the LIP6 laboratory π οΈ
they need your feedback to improve documentation and tools β so like, if something's weird, tell them! it's giving community π«Ά
β οΈ friendly reminder: this page is documentation from October 1, 1997, and the tool itself is still under development, so go in with your eyes open, bestie π
and that's the whole page!! signed off by ASIM/LIP6, dated October 1, 1997, UNFLATABLEXPR(3) all day every day πβ¨ππ¦ slay.
π¦ where this page comes from
- nixos 26.05: alliance 5.1.1-unstable-2025-02-24
- nixpkgs unstable: alliance 5.1.1-unstable-2025-02-24
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms