Recursive Descent Parser
The Recursive Descent Parser is a simple, to use program that demonstrates code written entirely in C#. This is a fully functional math expression parser based on a recursive descent parser (RDP). The underlying C# code
for the parser was translated from Herb Schildt's Recursive Descent Parser written in Java from "THE ART OF JAVA", by Herbert Schildt and James Holmes, McGraw-Hill/Osborne ISBN 0-07-222971-3, Copyright (C) 2003. The online
reference can be found here.
To be useful, a mathematical parser should have a method assigning user defined variables, of storing and retrieving those variables by name and value, persistence of those variables and values from session to session, and the ability to accept standard math expressions as simple text and process the text to calculate the correct mathematical result, regardless of the complexity of the expression. In addition, the parser should have the ability to recognize and process standard mathematical and trigonometric functions. While there are numerous expression evaluators available in virtually every programming language, most lack the full functionality, are very poorly documented, and fail to compile.