Parle 소개

parle 확장은 범용 렉싱 및 구문 분석 기능을 제공합니다. 구현은 » Ben Hanson의 라이브러리를 기반으로 하며 » C++14 지원 컴파일러가 필요합니다. 렉서는 정규식 일치를 기반으로 하며 파서는 LALR(1)입니다. 렉서와 파서는 즉석에서 생성되며 완성된 직후에 사용할 수 있습니다. Parle는 구문 분석 및 렉싱을 처리하며 적절한 데이터 구조 표현 및 처리는 구현자의 작업입니다. 직렬화 및 코드 생성은 아직 확장에서 지원되지 않습니다.

렉서 분석은 문자 시퀀스를 어휘 목록으로 분할하는 프로세스입니다. 그런 다음 어휘 목록을 형식 문법에 대한 구문 분석에 사용할 수 있습니다. 이러한 작업을 렉싱 및 구문 분석이라고도 합니다. 이 문서는 렉싱 및 구문 분석에 대한 완전한 정보를 제공하는 것을 목표로 하지 않습니다. 이와 관련된 좋은 정보는 인터넷의 수많은 리소스에서 얻을 수 있습니다. 기능을 보여주기 위해 몇 가지 사용 예가 포함되어 있습니다. 이 확장은 구문 분석 및 렉싱을 배우거나 활용하려는 PHP 프로그래머에게 유용합니다. 상태 머신과 문법 구문 분석은 수동으로 구현할 필요가 없으며 이러한 복잡한 작업은 parle에서 제거됩니다. 덕분에 실제 문제 해결에 집중할 수 있습니다.

parle의 일반적인 사용 사례는 데이터 형식이 PCRE와 일치하는 정규식으로 처리하기에 너무 복잡한 경우입니다. 실제 적용 범위는 여기에서 넓습니다. 특정 데이터 형식이든, 기존 함수의 동작 수정이든, 자체 프로그래밍 언어 이상이든 상관없습니다. Parle\Lexer::dump()가 생성된 상태 시스템을 검사하거나 Parle\Lexer::dump()가 생성된 문법을 검사하는 것과 같은 도우미 메서드가 유용합니다. Parle\Parser::trace() 메서드를 사용하여 구문 분석 작업을 추적할 수도 있습니다.