Hola yo hice un programa parecido, lo he hecho de dos formas:
1 - Puedes comparar el código ASCII de cada caracter ingresado con los correspondientes de la tabla de codigos ASCII, estos codigos son numeros enteros, y podrias utilizar rangos, por ejemplo los numeros tienen cierto rango y las letras tambien.
Aqui te dejo una url para que te hagas una idea:
http://personales.mundivia.es/papi/codigo_ascii.gif
Ademas deberias crear un arreglo que contenga todas las palabras reservadas y compararlas con el ingreso.
2 - Lo otro seria crear 3 cadenas de caracteres y un arreglo, las tres cadenas serian para las letras, los numeros y los signos y un arreglo para las palabras reservadas, lo unico que tendrias que hacer sería comparar el ingreso con cada caracter de las cadenas y el arreglo que tu creaste y asi decidir a que grupo pertenece.
Una cosa mas, revisa el post anterior, ahi te explique lo que significa compilador.
Espero te haya servido, Saludos.