Example 1

Apply the proecdure to the regular expression . We construct step-by-step an NFA such that:

Step : automata accepting and

digraph {
	rankdir=LR
	init[shape=point]
	node[label="" shape=doublecircle color=purple] a;
	node[shape=circle color=""] s;
	init->s
 
	s->a [label=a]
}
 
digraph {
	rankdir=LR
	init[shape=point]
	node[label="" shape=doublecircle color=purple] a;
	node[shape=circle color=""] s;
	init->s
 
	s->a [label=b]
}

Step : automata accepting and

digraph {
	rankdir=LR
	init[shape=point]
	node[label="" shape=doublecircle color=purple] b;
	node[shape=circle color=""] s;
	init->s
 
	s->a [label=a]
	a->b [label=b]
}
digraph {
	rankdir=LR
	init[shape=point]
	node[label="" shape=doublecircle color=purple] b;
	node[shape=circle color=""] s;
	init->s
 
	s->a [label=b]
	a->b [label=a]
}

Step : automaton accepting

digraph {
	rankdir=LR
	init[shape=point]
	node[label="" shape=doublecircle color=purple] b,j;
	node[shape=circle color=""] s;
	init->g
 
	s->a [label=a]
	a->b [label=b]
	
	g->s [label=ε]
	g->h [label=ε]
	h->j [label=a]
}

Step : automaton accepting

digraph {
	rankdir=LR
	init[shape=point]
	node[label="" shape=doublecircle color=purple] k;
	node[shape=circle color=""] s;
	init->k
 
	k->g [label=ε]
 
	s->a [label=a]
	a->b [label=b]
	
	g->s [label=ε]
	g->h [label=ε]
	h->j [label=a]
	
	b->k [label=ε]
	j->k [label=ε]
}

Step : automaton accepting

digraph {
	rankdir=LR
	init[shape=point]
	node[label="" shape=doublecircle color=purple] m;
	node[shape=circle color=""] s;
	init->k
 
	k->g [label=ε]
 
	s->a [label=a]
	a->b [label=b]
	
	g->s [label=ε]
	g->h [label=ε]
	h->j [label=a]
	
	b->k [label=ε]
	j->k [label=ε]
	
	k->n [label=b]
	n->m [label=a]
}

Step : automaton accepting

digraph {
	rankdir=LR
	init[shape=point]
	node[label="" shape=doublecircle color=purple] m;
	node[shape=circle color=""] s;
	init->k
 
	k->g [label=ε]
 
	s->a [label=a]
	a->b [label=b]
	
	g->s [label=ε]
	g->h [label=ε]
	h->j [label=a]
	
	b->k [label=ε]
	j->k [label=ε]
	
	k->n [label=b]
	n->m [label=a]
}