begin model select2
| begin input variables
| end input variables;
| begin output variables
| end output variables;
| begin process 0
| | main function : main;
| | begin process variables
| | | x : int;
| | | | select2.c 3.0--3.6: "int x;"
| | end process variables;
| | begin function main
| | | | select2.c 5.0--5.11: "void main()"
| | | start location : 0;
| | | begin location 0
| | | | kind : CHOICE;
| | | | when true goto location 1;
| | | | | select2.c 7.2--7.20: "when (true) x = 1;"
| | | | when true goto location 2;
| | | | | select2.c 8.2--8.20: "when (true) x = 2;"
| | | end location 0;
| | | begin location 1
| | | | kind : ASSIGNMENT;
| | | | x = 1; goto location 3;
| | | | | select2.c 7.14--7.20: "x = 1;"
| | | end location 1;
| | | begin location 2
| | | | kind : ASSIGNMENT;
| | | | x = 2; goto location 3;
| | | | | select2.c 8.14--8.20: "x = 2;"
| | | end location 2;
| | | begin location 3
| | | | kind : ASSERTION;
| | | | assert x==1;  goto location 4;
| | | | | select2.c 10.1--10.15: "assert x == 1;"
| | | end location 3;
| | | begin location 4
| | | | kind : RETURN;
| | | | return null; goto location 5;
| | | | | select2.c 11.0--11.0: "}"
| | | end location 4;
| | | begin location 5
| | | | kind : TERMINAL;
| | | end location 5;
| | end function main;
| end process 0;
end model select2.
