title: How to write a Parser in C#?
body: <p>How do I go about writing a Parser (Recursive Descent?) in C#? For now I just want a simple parser that parses arithmetic expressions (and reads variables?). Though later I intend to write an xml and html parser (for learning purposes). I am doing this because of the wide range of stuff in which parsers are useful: Web development, Programming Language Interpreters, Inhouse Tools, Gaming Engines, Map and Tile Editors, etc. So what is the basic theory of writing parsers and how do I implement one in C#? Is C# the right language for parsers (I once wrote a simple arithmetic parser in C++ and it was efficient.  Will JIT compilation prove equally good?). Any helpful resources and articles. And best of all, code examples (or links to code examples). </p>
  
  <p>Note: Out of curiosity, has anyone answering this question ever implemented a parser in C#?</p>