SUBSTDUPABLEXPR(3)
β¨ NAME β¨
okay so you're reading the SUBSTDUPABLEXPR(3) page, which lives in the ABL FUNCTIONS manual, and it's literally about one thing:
substdupablexpr β substitutes a given atom by an expression. π
That's it. That's the whole job. It's giving very focused, very main-character. π
πΈ ORIGIN πΈ
bestie, 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
like, they built a whole CAD system and we're out here substituting atoms. iconic behavior fr fr. π
π¦ SYNOPSIS π¦
#include "abl101.h"
chain_list βsubstdupablexpr( Expr1, Name, Expr2 )
chain_list βExpr1;
char βName;
chain_list βExpr2;
no cap, that's the whole signature. three args, one #include, zero drama. π
π PARAMETERS π
Expr1β First expression. (the one you're about to poke at π)Nameβ Atom name. (the atom getting swapped out, by name)Exprβ Second expression. (yes, the page literally writesExprhere even though the synopsis calls itExpr2β we don't make the rules, we just document them π)
π DESCRIPTION π
substdupablexpr duplicates and substitutes Atom in Expr1 by Expr2.
the way that it duplicates AND substitutes? obsessed. π«Ά so you get a fresh new expression out of it and your original Expr1 stays unbothered. two things at once, she's multitasking, she's thriving. β¨
β RETURN VALUE β
substdupablexpr returns the duplicated and modified expression.
that's your new baby. the original stays the original, the return value is the glow-up version. π
π₯ EXAMPLE π₯
#include "abl101.h"
chain_list βExpr1;
chain_list βExpr2;
chain_list βExpr3;
Expr1 = createablbinexpr( ABL_OR,
createablatom( "a" ),
createablatom( "b" ) );
Expr2 = createablbinexpr( ABL_AND,
createablatom( "c" ),
createablatom( "d" ) );
Expr3 = substdupablexpr( Expr1, "a", Expr2 );
/* displays ((c and d) or b) */
viewablexpr( Expr1, ABL_VIEW_VHDL );
okay so like β Expr1 is a or b, Expr2 is c and d, and then we yeet "a" out of Expr1 and drop Expr2 in its place. boom: ((c and d) or b). π§β¨
and then it calls viewablexpr( Expr1, ABL_VIEW_VHDL ) β that's the line in the example, we're reporting it exactly as written, no notes, no commentary, just showing you the receipt. π
π SEE ALSO π
iykyk. go read those next, bestie, they're the sibling pages. π―
π 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, they're literally asking. if something's weird or the docs are confusing, tell them β that's how this gets better. don't be shy. π«Ά
and that's the whole page, bestie!! π this one came from ASIM/LIP6, dated October 1, 1997, and it's the SUBSTDUPABLEXPR(3) page from the ABL FUNCTIONS manual β go substitute something, you've got this. periodt. π
β¨π
π¦ where this page comes from
- fedora 43: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 43: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms