如何在没有解析器生成器的情况下在C或Objective-C中编写解析器?

222*_*222 8 c parsing objective-c lexical-analysis

我试图在C或Objective-C中创建一个接受字符串的计算器

8/2+4(3*9)^2
Run Code Online (Sandbox Code Playgroud)

并返回答案2920.我不想使用像Lex或Yacc这样的生成器,所以我想从头开始编写代码.我应该怎么做呢?除了龙书,是否有任何推荐的文字涵盖这个主题?