Parser de Java 1 a Java 25 que gera uma árvore sintática abstrata e inclui um resolvedor de símbolos para localizar declarações e tipos.
nikic/PHP-Parser
Um parser de PHP escrito em PHP que transforma código-fonte PHP em uma árvore sintática abstrata para análise estática e manipulação de código.
- Estrelas
- 17,470
- Forks
- 1,144
- Issues abertas
- 75
- Último commit
- anteontem
O que é?
O PHP-Parser analisa código PHP 7 e PHP 8 e o transforma em uma árvore sintática abstrata (AST), com informações de localização associadas a cada nó. Ele também consegue analisar código inválido e gerar uma árvore parcial, o que ajuda ferramentas que precisam trabalhar com código ainda em edição.
Além da análise, a biblioteca oferece um traverser de nós com visitors para ler e modificar a árvore, um pretty printer que converte a AST de volta em código PHP (preservando a formatação original em árvores parcialmente alteradas), resolução de nomes para nomes com namespace e avaliação de expressões constantes. Os builders facilitam a geração de nós da AST para geração de código, e a árvore pode ser serializada para JSON e vice-versa.
A biblioteca é instalada via Composer e serve de base para ferramentas de análise de código, refatoração e geração de código no ecossistema PHP. A versão 5.x funciona com PHP 7.4 ou posterior.
Recursos principais
- 01Analisa código PHP 7 e PHP 8 e o transforma em uma AST com informações precisas de localização.
- 02Recupera uma AST parcial a partir de código sintaticamente inválido.
- 03Converte uma AST de volta em código PHP, preservando a formatação das partes inalteradas.
- 04Oferece visitors e um traverser para ler e modificar árvores.
- 05Resolve nomes com namespace e avalia expressões constantes.
- 06Serializa ASTs para JSON e vice-versa.
Casos de uso
- Criar ferramentas de análise estática ou lint para bases de código PHP.
- Escrever scripts de refatoração automatizada que reescrevem arquivos-fonte PHP.
- Gerar código PHP programaticamente usando builders de AST.
- Analisar código PHP em busca de problemas de segurança ou de conformidade com padrões de código.
Início rápido
- 1
Instale a biblioteca com o Composer
php composer.phar require nikic/php-parser - 2
Analise o código PHP em uma AST e exiba o resultado usando o exemplo de código do README
Antes de usar
- A versão 5.x requer PHP 7.4 ou posterior. A versão 4.x precisa do PHP 7.0 ou posterior.
Tópicos
Perguntas frequentes
- O que é PHP-Parser?
- Um parser de PHP escrito em PHP que transforma código-fonte PHP em uma árvore sintática abstrata para análise estática e manipulação de código. O PHP-Parser analisa código PHP 7 e PHP 8 e o transforma em uma árvore sintática abstrata (AST), com informações de localização associadas a cada nó. Ele também consegue analisar código inválido e gerar uma árvore parcial, o que ajuda ferramentas que precisam trabalhar com código ainda em edição.
- PHP-Parser é gratuito? Qual é a licença?
- PHP-Parser é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
- PHP-Parser ainda é mantido?
- Manutenção ativa. O último commit de PHP-Parser foi em 5 de nov. de 2026.
- Para que posso usar PHP-Parser?
- Criar ferramentas de análise estática ou lint para bases de código PHP. Escrever scripts de refatoração automatizada que reescrevem arquivos-fonte PHP. Gerar código PHP programaticamente usando builders de AST. Analisar código PHP em busca de problemas de segurança ou de conformidade com padrões de código.
- Como instalar PHP-Parser?
- Instale a biblioteca com o Composer: php composer.phar require nikic/php-parser Analise o código PHP em uma AST e exiba o resultado usando o exemplo de código do README
- Onde consigo PHP-Parser?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/nikic/PHP-Parser
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma ferramenta de CLI que busca, verifica e reescreve código usando padrões de árvores sintáticas abstratas em vez de texto simples.
Mecanismo open source de refatoração automatizada que aplica recipes ao código-fonte em vários repositórios, incluindo migrações de frameworks e correções de segurança.
Conjunto de bibliotecas Swift para analisar, inspecionar, gerar e transformar código-fonte Swift como uma árvore de sintaxe fiel ao código original.
Um parser completo de C99/C11 escrito em Python puro, que gera uma AST a partir do código-fonte C sem dependências externas.
Um wrapper de TypeScript para a TypeScript Compiler API, usado para analisar e modificar código TypeScript e JavaScript programaticamente.