123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- ===== AST after parser =====
- f():
- TreeList
- IfBranch
- UnresolvedReference cond1
- TreeList
- BinaryOperation Declaration
- UnresolvedReference a
- MathematicalConstant 1
- IfBranch
- UnresolvedReference cond2
- TreeList
- BinaryOperation Declaration
- UnresolvedReference b
- UnresolvedReference a
- ElseIfBranch Else
- TreeList
- BinaryOperation Declaration
- UnresolvedReference b
- MathematicalConstant 3
- ElseIfBranch Else
- TreeList
- BinaryOperation Declaration
- UnresolvedReference b
- MathematicalConstant 4
- ReturnNode
- UnresolvedReference b
- ===== AST after function-call-canonicalization =====
- f():
- TreeList
- IfBranch
- UnresolvedReference cond1
- TreeList
- BinaryOperation Declaration
- UnresolvedReference a
- MathematicalConstant 1
- IfBranch
- UnresolvedReference cond2
- TreeList
- BinaryOperation Declaration
- UnresolvedReference b
- UnresolvedReference a
- ElseIfBranch Else
- TreeList
- BinaryOperation Declaration
- UnresolvedReference b
- MathematicalConstant 3
- ElseIfBranch Else
- TreeList
- BinaryOperation Declaration
- UnresolvedReference b
- MathematicalConstant 4
- ReturnNode
- UnresolvedReference b
- ===== AST after if-branch-merging =====
- f():
- TreeList
- IfElseIfChain
- UnresolvedReference cond1
- TreeList
- BinaryOperation Declaration
- UnresolvedReference a
- MathematicalConstant 1
- IfElseIfChain
- UnresolvedReference cond2
- TreeList
- BinaryOperation Declaration
- UnresolvedReference b
- UnresolvedReference a
- TreeList
- BinaryOperation Declaration
- UnresolvedReference b
- MathematicalConstant 3
- TreeList
- BinaryOperation Declaration
- UnresolvedReference b
- MathematicalConstant 4
- ReturnNode
- UnresolvedReference b
- ===== AST after reference-resolving =====
- f():
- TreeList
- IfElseIfChain
- UnresolvedReference cond1
- TreeList
- BinaryOperation Declaration
- Var a
- MathematicalConstant 1
- IfElseIfChain
- UnresolvedReference cond2
- TreeList
- BinaryOperation Declaration
- Var b
- Var a
- TreeList
- BinaryOperation Declaration
- Var b
- MathematicalConstant 3
- TreeList
- BinaryOperation Declaration
- Var b
- MathematicalConstant 4
- ReturnNode
- Var b
- ===== AST after cfg-building =====
- f():
- TreeList
- IfElseIfChain
- UnresolvedReference cond1
- TreeList
- BinaryOperation Declaration
- Var a
- MathematicalConstant 1
- IfElseIfChain
- UnresolvedReference cond2
- TreeList
- BinaryOperation Declaration
- Var b
- Var a
- TreeList
- BinaryOperation Declaration
- Var b
- MathematicalConstant 3
- TreeList
- BinaryOperation Declaration
- Var b
- MathematicalConstant 4
- ReturnNode
- Var b
- ===== CFG after cfg-building =====
- f():
- 0:
- ControlFlowBranch true=3 false=7
- UnresolvedReference cond1
- 1:
- ControlFlowFunctionReturn
- Var $return
- 2:
- BinaryOperation Assignment
- Var $return
- Var b
- ControlFlowJump jump=1
- 3:
- BinaryOperation Declaration
- Var a
- MathematicalConstant 1
- ControlFlowBranch true=5 false=6
- UnresolvedReference cond2
- 4:
- ControlFlowJump jump=2
- 5:
- BinaryOperation Declaration
- Var b
- Var a
- ControlFlowJump jump=4
- 6:
- BinaryOperation Declaration
- Var b
- MathematicalConstant 3
- ControlFlowJump jump=4
- 7:
- BinaryOperation Declaration
- Var b
- MathematicalConstant 4
- ControlFlowJump jump=2
- 8:
- BinaryOperation Assignment
- Var $return
- Error ""
- ControlFlowJump jump=1
|