O PLY é uma implementação de ferramentas de análise lex e yacc para Python. Se você não tem a menor ideia do que isso significa, provavelmente você está no lugar errado. Caso contrário, continue lendo.

Em suma, o PLY nada mais é do que uma simples implementação lex / yacc. Aqui está uma lista de seus recursos essenciais:

É implementado inteiramente em Python.

Ele usa a análise LR, que é razoavelmente eficiente e adequada para gramáticas maiores.

O PLY fornece a maioria dos recursos lex / yacc padrão, incluindo suporte a produções vazias, regras de precedência, recuperação de erros e suporte a gramáticas ambíguas.

O PLY é simples de usar e fornece uma verificação de erros muito extensa.

O PLY não tenta fazer nada mais ou menos do que fornecer a funcionalidade básica lex / yacc. Em outras palavras, não é uma estrutura de análise grande ou um componente de algum sistema maior.

A versão original do PLY foi desenvolvida em 2001 para uso em um curso de Introdução aos Compiladores, onde os alunos usaram para construir um compilador para uma linguagem simples semelhante a Pascal. Por causa de seu uso em um ambiente instrucional, muito trabalho foi feito para fornecer verificação extensiva de erros. Além disso, essa experiência foi usada para resolver problemas comuns de usabilidade. Desde então, uma variedade de melhorias incrementais foram feitas no sistema. O PLY-3.0 adiciona suporte para o Python 3.0 e dá aos internos do PLY uma revisão muito necessária.