Si en verdad pretendes hacer un compilador entonces lo mejor es emplear algo diseñado para eso, como Lex y Yacc, que son para hacer exactamente el analizador léxico y sintáctico.
Doy por supuesto que además, estás cursando la cátedra de compiladores... y que además ya estuviste haciendo al menos en papel parte de la gramática y algunas expresiones reguales y autómatas infinitos como de práctica para luego volcar lo aprendido en Lex o Yacc (ya no recuerdo cual era cual
![Stick Out Tongue](http://www.clubdelphi.com/foros/images/smilies/tongue.gif)
)
Si se trata justamente de poner en práctica la teoría de compiladores, y que te hayan pedido un analizador léxico para una gramática (sea de un lenguaje hipotético o real) me cuesta creer que la forma en como lo estás encarando sea válida
![Roll Eyes (Sarcastic)](http://www.clubdelphi.com/foros/images/smilies/rolleyes.gif)
¿Porqué no nos comentas para que cátedra es el trabajo?
Si es como sospecho, de compiladores, ¿Hasta que temas han llegado a ver? ¿No les han mostrado siquiera para que son Lex y Yacc? Me sería extraño que le pidan que codifiquen un analizador... y sobre todo con tantas licencias para volcar en la práctica como tu en la forma tan "casera" que lo estás llevando.
Si te explicas y nos comentas más al respecto podríamos ver para donde van los tiros.
Saludos,