Sorry to reply to your questions we need to analyze your problem more
but for now I can answer only the question you asked about context and client
Context usually refers to a structure in which you need to transfer data to your methods and perhapse from that method to another. In your case, this context will go through all your interepret() method and will pass all of them you can send any information processed in one method through this structure to another.
Client is a class that uses the whole pattern you are implemented. client can be another class or another API or another application. in a single project, consider you have a button that uses your interpreter to analyze a formula so the class in which you engaged a button to do so is the client
for more information check out this :
http://en.wikipedia.org/wiki/Interpreter_pattern