Como faço para construir um analisador máquina de estado LR?
-
08-07-2019 - |
Pergunta
Eu estou querendo brincar com a criação de um geradores de analisador LR. Alguém sabe de um bom recurso (gratuito) que descreve como criar uma tabela de máquina de estado a partir de uma gramática?
Solução
Para um recurso livre, considere o código-fonte Python para PLY - uma implementação completa de Lex e Yacc em Python.
Gostaria de recomendar um livro, no entanto, e você dificilmente pode fazer melhor do que get A Dragão Livro .
Outras dicas
O melhor recurso que se deparam é a seguinte:
A resposta óbvia é o texto compilador padrão pelo Aho / Ullman / Ravi, Compiladores: princípios, técnicas e ferramentas
Tem capítulos completos sobre a análise. Não é gratuito, mas vale a pena cada último centavo, e se você estiver indo para analisadores de compilação ou outro compilador-como ferramentas, você está simplesmente louco se você não tem este livro.
Talvez você encontra Grammatica útil. É um gerador de analisador livre para .NET. Tenho alguma experiência com ele e foi bom. Você pode experimentá-lo e estudar seu código. http://grammatica.percederberg.net/