Analisador-gerador que saídas C # dado uma gramática BNF? [fechadas]
Pergunta
Eu estou procurando uma ferramenta que será capaz de construir um analisador (em C #) se eu dar-lhe uma gramática BNF (ex. http://savage.net.au/SQL/sql-2003-2.bnf )
existe tal gerador de um?
Solução
gramáticas Normalmente BNF são muito ambígua. ANTLR será provavelmente bom para o que você está procurando.
Outras dicas
O Visual Studio SDK realmente navios com lexer e ferramentas de geração de parser. Estes são chamados MPPG e mplex e fazem parte do Managed Babel pacote. Embora a intenção de agrupar-los com o SDK é desenvolver extensões de linguagem para Visual Studio, eles são perfeitamente utilizável para a criação de analisadores gerais de emissão de AST.
mplex e MPPG são baseados em GPLEX e GPPG (projectos de Queensland University of Technology) e são utilizados de uma forma similar à Lex e Yacc. O SDK também contém ações MSBuild para fazer a geração analisador uma parte do processo de construção regular.
Aqui está um screencast mostrando mplex e MPPG em ação:
http://msdn.microsoft.com/en-us/vstudio/cc837016.aspx
Você terá que ajustar o BNF um pouco, mas TinyPG é uma grande ferramenta.