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

# flatablexpr(3)

merges the operators of an expression

## NAME

flatablexpr - merges the operators of an expression

## SYNOPSYS

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

## PARAMETERS

- *Expr*

  Expression to flat.

## DESCRIPTION

**flatablexpr** merges all the common operators in *Expr*.\

## RETURN VALUE

**flatablexpr** returns nothing.

## EXAMPLE

```
#include "abl101.h"
  chain_list ∗Expr1;
  chain_list ∗Expr2;
  Expr1 = createbinexpr( ABL_OR,
                         createablatom( "a" ),
                         createablatom( "b" ) );
  Expr2 = createabloper( ABL_OR );
  addablhexpr( Expr2, createablatom( "c" ) );
  addablhexpr( Expr2, Expr1 );
  Expr1 = dupablexpr( Expr2 );
  flatablexpr( 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), **[unflatablexpr(3)](/unflatablexpr/3.md).**
