Un analizador léxico conviene que sea específico a la gramática que deba escanear.
Considera sin embargo, que antes de poder utilizar ningún analizador léxico, primero debes definir la gramática de tu lenguaje. ¿Ya lo tienes?.
Siempre se puede programar uno genérico, pero seguramente adolecerá de falta de rendimiento o incluso ser incompatible si las reglas de tu gramática difieren sustancialmente de lo habitual...
Expón tus avances y tus dudas...
De todos modos, puede consultar el código para Lex (que es un analizador universal bastante óptimo):
http://bxr.su/OpenBSD/usr.bin/lex/En github:
https://github.com/westes/flex/releases