Concerter Expressão Regular para AFN com e-moves

Olá!

Gostaria da ajuda de vocês, pois, tenho que implementar um programa que converta Expressão Regular para AFN com e-moves, utilizando o metodo de Thompson ou de autômato com pilha achei q o metodo de thompson será mais fácil. O problema é que não sei nem por onde começar. O problema tá também na hora de trabalhar com varios parenteses ai tenho q criar uma função recursiva para trata-los ex: a(a(a|b)*abb).
Tenho que tratar a preferência.
Pensei em colocar a expressão em um vetor. Mas, na verdade n tive nehuma ideia que pudesse me ajudar.
Obrigada!

Você já viu o Mark Utils?

ele consegue resolver expressões matemáticas, você pode baixar o código fonte e dar uma olhada pra ver se te ajuda com o que você quer fazer

http://markyameba.wordpress.com/markutilsproject/

Estou usando arraylist para quardar a er o problema ta para tratar as expressões dentro dos parenteses

Acredito que você vai ter que percorrer a sua expressão e montar uma extrutura em árvore e depois ir resolvendo as pontas

ai cada expressão dentro dos parenteses fica sendo um novo nó.

eu te falei do projeto do Mark_Ameba, pois ele tem uma funcionalidade de resolver expressões matemáticas, ai você poderia ver como ele faz para percorrer os parenteses.