Expressão S-Expressions

Eu encontreiessa questão hoje mais cedo:

Exemplo de entrada: Eu corri para Joe e Jill e depois fomos fazer compras
Exemplo de Saída: [TOP [S [S [NP [PRP I]] [VP [VBD executou] [PP [IN em] [NP [NNP Joe] [CC e] [NNP Jill]]]]] [CC e] [S [ ADVP [RB então]] [NP [PRP nós]] [VP [VBD foi] [NP [NN compras]]]]]]

Eu estava prestes a sugerir simplesmente analisar a saída esperada (como se parece com uma expressão s) em um objeto (no nosso caso, uma árvore) e, em seguida, usando métodos simples de LINQ para processá-lo. No entanto, para minha surpresa, não consegui encontrar um analisador de expressões C # s.

A única coisa que eu consegui pensar é usar o Clojure para analisá-lo, já que ele compila para o clr, mas não tenho certeza se é uma boa solução.

By the way, eu não me importo com a resposta à saída do tipodynamic. As únicas respostas que encontrei aqui foram para desserializar em um esquema específico.

Para resumir minha pergunta:Eu preciso desserializar expressões-s em c # (serialização seria bom para futuros leitores desta questão)

questionAnswers(2)

yourAnswerToTheQuestion