Skip to content
Graphviz (DOT) templates

Abstract Syntax Tree

AST for the expression `if (x > 0) y = x + 1; else y = 0;`

Template previewGraphviz (DOT)
Rendering…

Make it your own.

digraph ast {
  rankdir=TB;
  graph [bgcolor=transparent];
  node [shape=box, style="rounded,filled", fontname=Inter, fontsize=10, fillcolor="#dbeafe"];

  If [label="IfStatement", fillcolor="#fef3c7"];
  Cond [label="BinaryExpr  >"];
  X1 [label="Identifier  x"];
  Z [label="Literal  0"];
  Then [label="Assign  y ="];
  Add [label="BinaryExpr  +"];
  X2 [label="Identifier  x"];
  One [label="Literal  1"];
  Else [label="Assign  y ="];
  Z2 [label="Literal  0"];

  If -> Cond; Cond -> X1; Cond -> Z;
  If -> Then; Then -> Add; Add -> X2; Add -> One;
  If -> Else; Else -> Z2;
}