summaryrefslogtreecommitdiff
path: root/chapter05
Commit message (Collapse)AuthorAgeFilesLines
...
* javadoc about null-ness returns updateCliff Click2023-11-011-2/+29
|
* Fix missing trailing expressionCliff Click2023-11-012-1/+11
|
* Fix broken error reportCliff Click2023-11-012-2/+11
|
* Fix bugs using keywords as idsCliff Click2023-11-013-19/+71
| | | | | | | | Add an exact 'matchx' for keywords. Add a list of keywords. int true=0; return true; // Expected id, found 'true' int else=arg; if(else) else=2; else else=1; return else; // Expected id, found 'else' inta=1; return a; // undefined inta
* Update READMECliff Click2023-11-013-30/+63
| | | | Add true/false
* Parser gather Returns in the StopCliff Click2023-11-019-55/+78
| | | | | | Return returns a tuple of control & result GraphViz works with multi-Scopes and Scopes do not double-print uid. Proj also does not print uid in golden test results, because every time we add a new early node, the final results change node id so fail golden test.
* Fix Scope.dup mixing up edge ordersCliff Click2023-11-014-44/+35
| | | | Fix GraphVix node edge ordering
* Dont make redundant phisCliff Click2023-11-011-1/+2
|
* Greatly simplify Merge logic; move to ScopeNode.Cliff Click2023-11-016-144/+171
| | | | | | | | | Rename CTRL_TOKEN... its not a token. _allScopes becomes a Stack, because... it behaves like a stack. Add a junk Phi peep. More general AddNode peeps Add a bunch of If tests. Rewrite how expected-exception tests work; the workflow on the old technique sucked. New one stops in the right place in the debugger.
* Remove id as we already have it in Node.dibyendumajumdar2023-11-011-12/+1
|
* Small cleanupdibyendumajumdar2023-11-011-7/+5
|
* Add descriptions of the new node types in Chapter 5.dibyendumajumdar2023-11-011-1/+29
| | | | Add references to Cliff's thesis.
* Small updatesdibyendumajumdar2023-11-011-6/+6
|
* Fix typodibyendumajumdar2023-11-011-1/+1
|
* Add writeup of if statement parsingdibyendumajumdar2023-11-016-3/+644
|
* Add writeup of if statement parsingdibyendumajumdar2023-11-011-0/+24
|
* Update visualization to show all the Scope Nodes that are active.dibyendumajumdar2023-11-014-52/+104
| | | | | | Fix test cases broken due to renaming of ProjNode label. Cleanup the way we update $ctrl token Assign an ID to each ScopeNode so that when we visualize we can assign different names
* Some initial Ch 5 cleanupCliff Click2023-11-0114-37/+42
| | | | | | Drop Control interface, not flexible enough. Use isCFG() call, overloaded in child classes. Projections have a more complex test. Missing some printouts in Bool children, If, Region, Phi. IfNode type is a tuple. Region is TypeControl.
* Added PhiNode, RegionNode, IfNode, StopNodedibyendumajumdar2023-11-0110-15/+236
| | | | | No type compute yet Initial parsing logic for If statements
* Rename test class and dot diagramsdibyendumajumdar2023-11-012-2/+2
|
* Start on Chapter 5dibyendumajumdar2023-11-011-3/+5
|
* Start on Chapter 5dibyendumajumdar2023-11-0125-0/+2062