From 657eac56d1ec80d670bbabafe7d67aa6695d8c05 Mon Sep 17 00:00:00 2001 From: s-over-4 Date: Sun, 9 Jul 2023 23:28:06 -0400 Subject: tree structunkdjf --- tree.txt | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 tree.txt diff --git a/tree.txt b/tree.txt new file mode 100644 index 0000000..75433b2 --- /dev/null +++ b/tree.txt @@ -0,0 +1,29 @@ +The Expr +======== + [ block ] ⇐ a block is a list of exprs + │ ┌┘ + │ │ + [ expr ] ── [ lit ] ⇐ a literal value; "base case" for the tree + │ │ ├── type + ┌──┘ └──┐ └─ value +[ def ] [ call ] + │ │ + ├─ [target] ← id ├─ [target] ← id ⇐ an id is a pointer to another part of the tree + └── [value] ← expr └──── [arg] ← expr + +Example Expr Tree +================= +[ block ] + │ + ├─ [ def ] + │ │ + │ ├─ [target] → hello + │ └── [value] → [ lit ] + │ ├── type → str + │ └─ value → Hello, World + ├─ [ call ] + │ │ + │ ├─ [target] → print + │ └──── [arg] → hello + ... + -- cgit v1.2.3