L2CA Exemples : List Counter

This Program just count the length of the list.

Program Source

pointer i,j;
int a;

j = i;
a = 0;
while !(j == null) do
a = a + 1;
j = j.next;

Initial Heap

1 // nb of vertices (this is optional)
O x null (i); // id counterName nextVertice RootList

DOT Output

This is what L2CA generates when used on those program and heap. You can see the shape of the heap through the program execution.

The doted boxes are the automaton states and small ones the heap vertices, in which the first line is for the roots and the second for the counter.
[This is a guard] this is an action ;