From 0caf37adc5f8c1600f13d80aaf77361f407c9694 Mon Sep 17 00:00:00 2001 From: Dibyendu Majumdar Date: Thu, 2 May 2024 22:08:06 +0100 Subject: Documentation updates (#76) * More clearly explain why we do not have an AST in the implementation * Improve the description of type lattice. Cross reference to future chapters. * Minor update * Add lattice visual Revise the text describing meet. * minor update * Add a lattice visual to the text * Update the lattice visual. Add description of the new edges in the SoN graph --- chapter05/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'chapter05/README.md') diff --git a/chapter05/README.md b/chapter05/README.md index dbe3c8e2..f06e5e15 100644 --- a/chapter05/README.md +++ b/chapter05/README.md @@ -27,7 +27,7 @@ Here is a recap of the nodes introduced in previous chapters: |-----------|----------------|---------|------------------------------------------------|-------------------------------------------------------------------------------|----------------------------------------------------------------------------| | Multi | Abstract class | 4 | A node that has a tuple result | | A tuple | | Start | Control | 1 | Start of function, now a MultiNode | | A tuple with a ctrl token and an `arg` data node | -| Proj | ? | 4 | Projection nodes extract values from MultiNode | A MultiNode and index | Result is the extracted value from the input MultiNode at offset index | +| Proj | Data | 4 | Projection nodes extract values from MultiNode | A MultiNode and index | Result is the extracted value from the input MultiNode at offset index | | Bool | Data | 4 | Represents results of a comparison operator | Two data nodes | Result is a comparison, represented as integer value where 1=true, 0=false | | Not | Data | 4 | Logical not | One data node | Result converts 0 to 1 and vice versa | | Return | Control | 1 | End of function | Predecessor control node and a data node for the return value of the function | Return value of the function | @@ -37,7 +37,7 @@ Here is a recap of the nodes introduced in previous chapters: | Mul | Data | 2 | Multiply two values | Two data nodes without restrictions on the order | Result of the multiplication | | Div | Data | 2 | Divide a value by another | Two data nodes, the first one is divided by the second one | Result of the division | | Minus | Data | 2 | Negate a value | One data node which value is negated | Result of the negation | -| Scope | ? | 3 | Represents scopes in the graph | Nodes that represent the current value of variables | None | +| Scope | Symbol Table | 3 | Represents scopes in the graph | Nodes that represent the current value of variables | None | ## `If` Nodes -- cgit v1.2.3