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

# substablexpr(3)

substitutes a given atom by an expression.

## NAME

substablexpr - substitutes a given atom by an expression.

## SYNOPSYS

```
#include "abl101.h"
chain_list ∗substablexpr( Expr1, Name, Expr2 )
  chain_list ∗Expr1;
  char       ∗Name;
  chain_list ∗Expr2;
```

## PARAMETERS

- *Expr1*

  First expression.

- *Name*

  Atom name.

- *Expr*

  Second expression.

## DESCRIPTION

**substablexpr** substitutes *Atom* in *Expr1* by *Expr2*. The expression pointer *Expr1* MUSTN'T be used after the call to this function.\

## RETURN VALUE

**substablexpr** returns the modified expression.

## EXAMPLE

```
#include "abl101.h"
  chain_list ∗Expr1;
  chain_list ∗Expr2;
  Expr1 = createablbinexpr( ABL_OR,
                            createablatom( "a" ),
                            createablatom( "b" ) );
  Expr2 = createablbinexpr( ABL_AND,
                            createablatom( "c" ),
                            createablatom( "d" ) );
  Expr1 = substablexpr( Expr1, "a", Expr2 );
  /* displays ((c and d) or b) */
  viewablexpr( Expr1, ABL_VIEW_VHDL );
```

## SEE ALSO

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