I have been working on creating a interpreter for my iPad app "StitchSketch".
In my past, I had created an interpreter a couple of times, but it was always C/C++, and never be able to finish it implementing objects etc.
This time, also I'm using "Top Down Operator Precedence" algorithm as a language parser, instead of LL or BNF. It is very powerful and meets my requirement.
Here is the list of reference:
Top Down Operator Precedence by Douglas Crockford.
It explains only a parser (and some code regarding tokenizer)
Top Down Operator Precedence by Vaughan R. Pratt
This is the original article of "Top Down Operator Precedence" by Vaughan R. Pratt, Massachusetts Institute of Technology
Top-Down operator precedence parsing by Eli Bendersky
This is also a nice article to better understand the algorithm
This article on Code Project also is a nice one, and it has some example implementing actual "evaluator" (a module to run as an interpreter) It is simplified version, though.