123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- digraph G{
- // Inheritance links between superclasses
- Expression -> Action [arrowhead="empty"];
- Statement -> Action [arrowhead="empty"];
- Action -> Any [arrowhead="empty"];
- // Links on superclasses
- Statement -> Statement [label="next"];
- // Inheritance hierarchy
- If -> Statement [arrowhead="empty"];
- While -> Statement [arrowhead="empty"];
- Assign -> Statement [arrowhead="empty"];
- Call -> Statement [arrowhead="empty"];
- Call -> Expression [arrowhead="empty"];
- Break -> Statement [arrowhead="empty"];
- Continue -> Statement [arrowhead="empty"];
- Return -> Statement [arrowhead="empty"];
- Resolve -> Statement [arrowhead="empty"];
- Resolve -> Lvalue [arrowhead="empty"];
- Access -> Expression [arrowhead="empty"];
- Constant -> Expression [arrowhead="empty"];
- Constant -> Lvalue [arrowhead="empty"];
- Input -> Expression [arrowhead="empty"];
- Output -> Statement [arrowhead="empty"];
- Declare -> Statement [arrowhead="empty"];
- Global -> Statement [arrowhead="empty"];
- // Actual types
- // If
- If -> Expression [label="cond"];
- If -> Statement [label="true"];
- If -> Statement [label="false"];
- // While
- While -> Expression [label="cond"];
- While -> Statement [label="body"];
- // Assign
- Assign -> Lvalue [label="var"];
- Assign -> Expression [label="value"];
- // Call
- Call -> Expression [label="func"];
- Call -> Param [label="params"];
- Call -> Param [label="last_param"];
- // Break
- Break -> While [label="while"];
-
- // Continue
- Continue -> While [label="while"];
- // Return
- Return -> Expression [label="value"];
- // Resolve
- Resolve -> Any [label="var"];
- // Access
- Access -> Lvalue [label="var"];
- // Constant
- Constant -> Any [label="node"];
- // Input
- // Output
- Output -> Any [label="value"];
- // Declare
- // Global
- Global -> String [label="var"];
- // Param
- Param -> String [label="name"];
- Param -> Expression [label="value"];
- Param -> Param [label="next_param"];
- // Function definition
- Funcdef -> Statement [label="body"];
- }
|