추상 구문 트리를 생성하는 Java 1~25 파서와 선언 및 타입을 확인하는 심볼 솔버입니다.
nikic/PHP-Parser
PHP로 작성된 PHP 파서로, PHP 소스 코드를 정적 분석과 코드 조작에 활용할 수 있는 AST로 변환합니다.
- 스타
- 17,470
- 포크
- 1,144
- 열린 이슈
- 75
- 마지막 커밋
- 그저께
어떤 프로젝트인가요?
PHP-Parser는 PHP 7 및 PHP 8 코드를 각 노드의 위치 정보가 포함된 추상 구문 트리(AST)로 파싱합니다. 문법적으로 올바르지 않은 코드도 부분 트리로 파싱할 수 있어, 편집 중인 코드에서 동작해야 하는 도구에 유용합니다.
파싱 외에도 트리를 읽고 수정하는 visitor와 node traverser, AST를 PHP 코드로 변환하는 pretty printer(일부만 변경된 트리에서는 원래 형식을 유지), 네임스페이스가 적용된 이름의 해석, 상수 표현식 평가 기능을 제공합니다. Builder를 사용하면 코드 생성을 위한 AST 노드를 더 쉽게 만들 수 있으며, 트리를 JSON으로 직렬화했다가 다시 역직렬화할 수도 있습니다.
이 라이브러리는 Composer로 설치하며, PHP 생태계의 코드 분석, 리팩터링, 코드 생성 도구를 구축하는 기반으로 사용됩니다. 5.x 버전은 PHP 7.4 이상에서 실행됩니다.
핵심 기능
- 01PHP 7 및 PHP 8 코드를 정확한 위치 정보가 포함된 AST로 파싱합니다.
- 02문법적으로 올바르지 않은 코드에서도 부분 AST를 복구합니다.
- 03AST를 PHP 코드로 변환하며, 변경되지 않은 부분의 형식을 유지합니다.
- 04트리를 읽고 수정할 수 있는 visitor와 traverser를 제공합니다.
- 05네임스페이스가 적용된 이름을 해석하고 상수 표현식을 평가합니다.
- 06AST를 JSON으로 직렬화하거나 역직렬화합니다.
활용 사례
- PHP 코드베이스를 위한 정적 분석 또는 린팅 도구를 구축합니다.
- PHP 소스 파일을 자동으로 다시 작성하는 리팩터링 스크립트를 만듭니다.
- AST Builder를 사용해 PHP 코드를 프로그래밍 방식으로 생성합니다.
- 보안 문제나 코딩 표준 위반을 찾기 위해 PHP 코드를 분석합니다.
빠른 시작
- 1
Composer로 라이브러리 설치하기
php composer.phar require nikic/php-parser - 2
README의 코드 예제를 사용해 PHP 코드를 AST로 파싱하고 덤프하기
사용 전 알아둘 점
- 버전 5.x를 실행하려면 PHP 7.4 이상이 필요합니다. 버전 4.x에는 PHP 7.0 이상이 필요합니다.
토픽
자주 묻는 질문
- PHP-Parser은(는) 무엇인가요?
- PHP로 작성된 PHP 파서로, PHP 소스 코드를 정적 분석과 코드 조작에 활용할 수 있는 AST로 변환합니다. PHP-Parser는 PHP 7 및 PHP 8 코드를 각 노드의 위치 정보가 포함된 추상 구문 트리(AST)로 파싱합니다. 문법적으로 올바르지 않은 코드도 부분 트리로 파싱할 수 있어, 편집 중인 코드에서 동작해야 하는 도구에 유용합니다.
- PHP-Parser은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- PHP-Parser은(는) BSD-3-Clause 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- PHP-Parser은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. PHP-Parser의 마지막 커밋은 2026년 11월 5일입니다.
- PHP-Parser은(는) 어디에 사용할 수 있나요?
- PHP 코드베이스를 위한 정적 분석 또는 린팅 도구를 구축합니다. PHP 소스 파일을 자동으로 다시 작성하는 리팩터링 스크립트를 만듭니다. AST Builder를 사용해 PHP 코드를 프로그래밍 방식으로 생성합니다. 보안 문제나 코딩 표준 위반을 찾기 위해 PHP 코드를 분석합니다.
- PHP-Parser는 어떻게 설치하나요?
- Composer로 라이브러리 설치하기: php composer.phar require nikic/php-parser README의 코드 예제를 사용해 PHP 코드를 AST로 파싱하고 덤프하기
- PHP-Parser은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/nikic/PHP-Parser
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
일반 텍스트가 아닌 AST 패턴으로 코드를 검색하고 린트하며 재작성하는 CLI 도구입니다.
여러 저장소의 소스 코드에 레시피를 적용해 프레임워크 마이그레이션과 보안 수정을 수행하는 오픈소스 자동 리팩터링 엔진입니다.
Swift 소스 코드를 원본과 정확히 대응하는 구문 트리로 파싱하고 검사·생성·변환하는 Swift 라이브러리 모음입니다.
외부 의존성 없이 C 소스 코드에서 AST를 생성하는 순수 Python 구현의 완전한 C99/C11 파서입니다.
TypeScript Compiler API를 감싸 TypeScript와 JavaScript 코드를 분석하고 프로그램으로 변경할 수 있게 해 주는 TypeScript 래퍼입니다.