Compiladores

Pessoal to com um exercício meio complexo aki.

Preciso criar uma classe Java que valide as seguintes questões:

Serão aceitas somente palavras que tenha como subpalavra 'abbaa" e outra palavra que contenha a subpalavra ‘cabc’.

Sendo que deverá ser criado o autômato finido determinístico e não determinístico.

Obrigado!