S-Expresiones de análisis

Me encontré conesta pregunta el día de hoy:

Ejemplo de entrada: Me encontré con Joe y Jill y luego nos fuimos de compras
Ejemplo de salida: [TOP [S [S [NP [PRP I]] [VP [VBD corrió] [PP [IN en] [NP [NNP Joe] [CC y] [NNP Jill]]]] [CC y] [S [ ADVP [RB entonces]] [NP [PRP we]] [VP [VBD fue] [NP [NN shopping]]]]]

Estaba a punto de sugerir simplemente analizar el resultado esperado (ya que parece una expresión-s) en un objeto (en nuestro caso, un árbol) y luego usar métodos LINQ simples para procesarlo. Sin embargo, para mi sorpresa, no pude encontrar un analizador de expresiones C # s.

Lo único que se me ocurre es usar Clojure para analizarlo, ya que se compila al clr, aunque no estoy seguro de que sea una buena solución.

Por cierto, no me importa la respuesta a la salida de tipodynamic. Las únicas respuestas que he encontrado aquí son para deserializar en un esquema específico.

Para resumir mi pregunta:Necesito deserializar expresiones-s en C # (Seria una buena serialización para futuros lectores de esta pregunta)

Respuestas a la pregunta(2)

Su respuesta a la pregunta