Desenvolvendo um analisador simples

Meu trabalho diário inclui trabalhar para desenvolver um compilador semelhante ao Pascal. Eu tenho trabalhado o tempo todo em otimizações e geração de código.

Eu também gostaria de começar a aprender a criar um analisador simples para o mesmo idioma. No entanto, não tenho muita certeza de como fazer isso. Flex e Bison parecem ser a escolha. Mas, não é possível escrever um analisador usando C ++ ou C #? Estou um pouco assustador com C.

O Yacc ++ suporta C #, mas é licenciado. Estou procurando toda a ajuda que posso encontrar a esse respeito. Sugestões seriam muito apreciadas.

questionAnswers(9)

yourAnswerToTheQuestion