---
name: "unflatablexpr"
section: "3"
platform: "linux"
package: "alliance"
version: "5.1.1-3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/unflatablexpr"
---

# unflatablexpr(3)

unflats the operators of an expression

## NAME

unflatablexpr - unflats the operators of an expression

## SYNOPSYS

```
#include "abl101.h"
void unflatablexpr( Expr )
  chain_list ∗Expr;
```

## PARAMETERS

- *Expr*

  Expression to unflat.

## DESCRIPTION

**unflatablexpr** modifies all the operators in *Expr* in order to have exclusively binary or unary operators.\

## RETURN VALUE

**unflatablexpr** returns the modified expression.

## 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 );
```

## SEE ALSO

[**abl**(1)](/abl/1.md), **ununflatablexpr(3).**
