| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
* Wrong input index used
* Then is currently not a keyword
* Some phis are now not created and ids shifted
|
| | |
|
| |
|
|
| |
Region edges need to align with Phi edges; missing leading null
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Update visuals
Update chapter list
|
| |
|
|
| |
Make an official TODO which can't be hit in the current Chapter, but future binary ops might hit it.
|
| |
|
|
|
|
|
|
|
|
|
| |
* Return null when the node cannot be copied
* Make add_def package private again
* Phi node can have more then two data inputs in theory
* Use swap12
* Use addUse
|
| | |
|
| |
|
|
|
|
|
|
| |
Merging common edges.
Phis of same Region align.
Phis use greek phi, and have a debug name. Scope carries the debug name. Phis are lightly colored.
Common math names for math prims.
Parse can optionally show the graph after closing the last scope.
|
| | |
|
| |
|
|
| |
More rigorously head for a left-spline sum-of-products format.
|
| |
|
|
|
| |
higher level parsers can return null, but their return is ignored anycase.
div-by-0 is defined to be 0, backported to ch2,3,4,5
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Add true/false
|
| |
|
|
|
|
| |
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 GraphVix node edge ordering
|
| | |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
| |
Add references to Cliff's thesis.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
| |
No type compute yet
Initial parsing logic for If statements
|
| | |
|
| | |
|
| |
|