-
-
Notifications
You must be signed in to change notification settings - Fork 4.4k
/
assignment--if-and-2.js
28 lines (27 loc) · 1.02 KB
/
assignment--if-and-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
/*expected
initial->s1_1->s1_2->s1_3->s1_5;
s1_1->s1_4->s1_5;
s1_2->s1_4;
s1_5->final;
*/
if (a &&= b) {
foo();
} else {
bar();
}
/*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:enter\nIfStatement:enter\nAssignmentExpression:enter\nIdentifier (a)"];
s1_2[label="Identifier (b)\nAssignmentExpression:exit"];
s1_3[label="BlockStatement:enter\nExpressionStatement:enter\nCallExpression:enter\nIdentifier (foo)\nCallExpression:exit\nExpressionStatement:exit\nBlockStatement:exit"];
s1_5[label="IfStatement:exit\nProgram:exit"];
s1_4[label="BlockStatement:enter\nExpressionStatement:enter\nCallExpression:enter\nIdentifier (bar)\nCallExpression:exit\nExpressionStatement:exit\nBlockStatement:exit"];
initial->s1_1->s1_2->s1_3->s1_5;
s1_1->s1_4->s1_5;
s1_2->s1_4;
s1_5->final;
}
*/