Грамматика математики не очень хорошо задокументирована, правда. Но AFAIK, это
LALR (1) и, вероятно, LL (1); Синтаксис в скобках / с тегами дает парсеру полные подсказки
о том, что ожидать дальше, так же, как LISP и XML.
Инструментарий реинжиниринга программного обеспечения DMS имеет грамматику Mathematica, которая использовалась для реальных задач.
Это включает в себя программы MMa, а также формы чистого выражения.
Это, вероятно, не поможет вам, так как вы хотите один в C #.
Если у вас есть доступ к Керналу, я бы придерживался этого.