¿Cómo escribo un analizador en C u Objective-C sin un generador de analizador?

Estoy tratando de hacer una calculadora en C u Objective-C que acepte una cadena a lo largo de las líneas de

8/2+4(3*9)^2

y devuelve la respuesta 2920. Preferiría no usar un generador como Lex o Yacc, por lo que quiero codificarlo desde cero. ¿Cómo debo hacer esto? Además del libro del Dragón, ¿hay algún texto recomendado que cubra este tema?

Respuestas a la pregunta(7)

Su respuesta a la pregunta