Analizador Léxico en lenguaje C?

Valdo
20 de Noviembre del 2009
Buenas tardes, puff que pena, necesito que me ayuden.

Necesito un programa en C que te pida introducir una cadena y despues el programa te clasifique las palabras que se introducieron.
La cadena debe ser introducida toda en minusculas y cada "palabra" separada por un espacio

por ejemplo: hola1 + 9 = 8 inicio fin var

y el programa debe de clasificarte algo como
hola1 Identificador
+ Operador aritmetico
9 Numero entero
= Operador aritmetico
8 Operador aritmetico



las distintas clasificaciones son

Palabras reservadas (inicio, fin, var)
Operadores aritméticos (+ - * / = )
Numeros (Reales, enteros)
Identificadores (son palabras que no deben empezar con un numero)
Palabra no valida (una palabra que empieze con numero)


Gracias por su ayuda.