# Julia expression to AbstractTree-like structure in Symbolics

**URL:** https://discourse.julialang.org/t/julia-expression-to-abstracttree-like-structure-in-symbolics/80289
**Category:** Modelling & Simulations
**Tags:** symbolics
**Created:** [April 30, 2022, 10:01am UTC](https://discourse.julialang.org/t/julia-expression-to-abstracttree-like-structure-in-symbolics/80289 "2022-04-30T10:01:25Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![mbesancon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbesancon/32/6528_2.png) [@mbesancon](https://discourse.julialang.org/u/mbesancon)
#### Post date: [April 30, 2022, 10:01am UTC](https://discourse.julialang.org/t/julia-expression-to-abstracttree-like-structure-in-symbolics/80289/1 "2022-04-30T10:01:25Z")

</div>

I was looking at the different possibilities for Expr to tree-like structure in Julia and thought of the Symbolics ecosystem as the natural modern place for it

I found an old [post](https://discourse.julialang.org/t/tuples-broadcast-and-expression-tree/8056) and [GitHub - dfdx/Espresso.jl: Expression transformation package](https://github.com/dfdx/Espresso.jl) but was wondering if there is something in Symbolics

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [April 30, 2022, 1:01pm UTC](https://discourse.julialang.org/t/julia-expression-to-abstracttree-like-structure-in-symbolics/80289/2 "2022-04-30T13:01:13Z")

</div>

Expr is a tree structure. But @shashi might have some other tools.

---

<div class="post-metadata">

### Author: ![mbesancon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbesancon/32/6528_2.png) [@mbesancon](https://discourse.julialang.org/u/mbesancon)
#### Post date: [April 30, 2022, 7:27pm UTC](https://discourse.julialang.org/t/julia-expression-to-abstracttree-like-structure-in-symbolics/80289/3 "2022-04-30T19:27:10Z")

</div>

True, it is a tree structure but I didn’t see the AbstractTree interface implemented anywhere.

Edit: no clue how I missed it, it is already built in AbstractTrees

```julia
julia> AbstractTrees.print_tree(:(3x + 2 * y - f(z + π)))
Expr(:call)
├─ :-
├─ Expr(:call)
│ ├─ :+
│ ├─ Expr(:call)
│ │ ├─ :*
│ │ ├─ 3
│ │ └─ :x
│ └─ Expr(:call)
│ ├─ :*
│ ├─ 2
│ └─ :y
└─ Expr(:call)
   ├─ :f
   └─ Expr(:call)
      ├─ :+
      ├─ :z
      └─ :π

```
