digraph untitled { charset = "UTF-8"; start -> read0; read0 [label="read",shape="diamond"]; read0 -> pop1 [label="a"]; pop1 [label="pop", shape=diamond]; pop1 -> read0 [label="b"]; pop1 -> push0 [label="a"]; push0 [label="push a", shape=box]; pop1 -> push1 [label="N"]; push1 [label="push a", shape=box]; push0 -> push1; push1 -> read0; read0 -> pop3 [label="N"]; pop3 [label="pop", shape=diamond]; pop3 -> pop4 [label="a"]; pop3 -> reject [label="b, N"]; pop4 [label="pop", shape=diamond]; pop4 -> reject [label="a, b"]; pop4 -> accept [label="N"]; read0 -> pop2 [label="b"]; pop2 [label="pop", shape=diamond]; pop2 -> push2 [label="b"]; push2 [label="push b", shape=box]; pop2 -> push3 [label="N"]; push3 [label="push b", shape=box]; push2 -> push3; pop2 -> pop5 [label="a"]; pop5 [label="pop", shape=diamond]; pop5 -> read0 [label="a"]; pop5 -> push3 [label="b"]; pop5 -> push4 [label="N"]; push3 -> push4; push4 [label="push b", shape=box]; push4 -> read0; }