Hola amigo.
verás esto requiere de un cierto tiempo de empeño programando y logica a un buen nivel. te digo esto por que para que hagas esto del analizador lexico debes definir tu propio lenguaje.
y despues tu mismo programar como java va a interpretar tus expresiones.
por ejemplo yo hize uno en donde metia un comando llamado asi.
Código PHP:
imprime("hola");
en un archivo de texto llamado libreria.lps que yo cree tenia la definicion de todos mis comandos y lo cargaba en memoria, cuando el analizador se ejecutaba verificaba la palabra imprime si existia ya tenia el primer paso, despues analizaba por tokens los parentesis uno que abriera y uno que cerrara si no encontrana asi mandaba un error podia o no tener comillas si tenia comillas lo de adentro era texto, sino lo tomaba como variable, si era variable buscaba de que tipo era.
bueno para no hacertela larga para esto tienes que saber bien java basico y tener nocion de programacion de sistemas. por que depende de tu lenguaje la logica que debe llevar.