--- /dev/null
+
+strict digraph faustflow {
+ root=syntax;
+ ordering=out;
+
+ declaration[label="3.2.1 Declarations"];
+ fileimport[label="3.2.2 File Imports"];
+ documentation[label="3.2.3 Documentation"];
+
+ simple[label="3.3.1 Simple"];
+ fundef[label="3.3.2 Function"];
+ patdef[label="3.3.3 Pattern"];
+
+ diag[label="3.4.1 Diag."];
+ math[label="3.4.2.1 Math"];
+ bit[label="3.4.2.2 Bitwise"];
+ cmp[label="3.4.2.3 Compare"];
+
+ time[label="3.4.3 Time"];
+ env[label="3.4.4 Lexical"];
+ foreign[label="3.4.5 Foreign"];
+ prog[label="3.4.6 Lambda"];
+
+ infix[label="3.4.2 Infix"];
+
+
+ node[shape=box, color=blue, fillcolor=lightblue, style=filled];
+ program[label="3.1 Program"];
+ statement[label="3.2 Statements"];
+ definition[label="3.3 Definitions"];
+ expr[label="3.4 Expressions"];
+ prim[label="3.5 Primitives"];
+
+
+ program->statement;
+ statement->declaration;
+ statement->fileimport;
+ statement->definition;
+ statement->documentation;
+
+ definition->simple->expr;
+ definition->fundef->expr;
+ definition->patdef->expr;
+
+ expr->diag;
+ expr->infix;
+
+ infix->math->prim;
+ infix->bit->prim;
+ infix->cmp->prim;
+
+ expr->time;
+ expr->env;
+ expr->foreign;
+ expr->prog;
+
+}