/
logical--do-while-qq-2.js
33 lines (32 loc) · 1.19 KB
/
logical--do-while-qq-2.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*expected
initial->s1_1->s1_2->s1_3->s1_4->s1_5->s1_2->s1_2;
s1_3->s1_2;
s1_4->s1_2;
s1_5->s1_6;
s1_2->s1_6;
s1_3->s1_6;
s1_4->s1_6->final;
*/
do {
foo();
} while (a ?? b ?? c ?? d);
/*DOT
digraph {
node[shape=box,style="rounded,filled",fillcolor=white];
initial[label="",shape=circle,style=filled,fillcolor=black,width=0.25,height=0.25];
final[label="",shape=doublecircle,style=filled,fillcolor=black,width=0.25,height=0.25];
s1_1[label="Program\nDoWhileStatement"];
s1_2[label="BlockStatement\nExpressionStatement\nCallExpression\nIdentifier (foo)\nLogicalExpression\nLogicalExpression\nLogicalExpression\nIdentifier (a)\nIdentifier:exit (foo)\nCallExpression:exit\nExpressionStatement:exit\nBlockStatement:exit\nIdentifier:exit (a)"];
s1_3[label="Identifier (b)\nIdentifier:exit (b)\nLogicalExpression:exit"];
s1_4[label="Identifier (c)\nIdentifier:exit (c)\nLogicalExpression:exit"];
s1_5[label="Identifier (d)\nIdentifier:exit (d)\nLogicalExpression:exit"];
s1_6[label="DoWhileStatement:exit\nProgram:exit"];
initial->s1_1->s1_2->s1_3->s1_4->s1_5->s1_2->s1_2;
s1_3->s1_2;
s1_4->s1_2;
s1_5->s1_6;
s1_2->s1_6;
s1_3->s1_6;
s1_4->s1_6->final;
}
*/