문제

Flex/Bison(또는 Lex/Yacc 등)을 얻을 수 있는 방법을 찾고 있습니다.al.) PHP에서 지원됩니다.특히 저는 웹 UI에 부울 쿼리 파서를 구현하고 있으며 모든 작업을 PHP 내부에 유지하려고 합니다(C 파서를 호출하거나 Python에 항목을 전달하는 등의 반대).

도움이 되었습니까?

해결책

라임 PHP용 파서 생성기:

완전한 LALR(1) 파서 생성기 및 엔진(예: BISON 또는 YACC)이지만 모두 PHP로 수행되며 입력 문법은 더 쉽고 유지 보수가 쉽습니다.쓰다 PHP에서 당신의 행동.PHP 생성 출력 코드.파서를 구동하십시오. PHP입니다.언어를 만들고 싶나요?


업데이트:

위 내용을 작성했기 때문에 여기에 발표된 파서 생성을 위한 몇 가지 다른 도구가 있다는 것을 알 수 있습니다.

http://wezfurlong.org/blog/2006/nov/parser-and-lexer-generators-for-php/

2014년 현재 이러한 것들이 더 잘 유지되는지는 확실하지 않지만, 나는 Wez Furlong을 알고 있습니다. 그는 PDO의 최초 개발자였으며 ​​매우 훌륭한 개발자입니다.

다른 팁

배 라이브러리에는 수업이 있습니다 Lexergenerator 그리고 파르사이너. Lexergenerator Syntax는 호환됩니다 RE2C, Parsergenerator Syntax는 The와 호환됩니다 레몬 파서 생성기.

PHP에서 Peg Parser Generator를 보셨습니까? https://github.com/maetl/php-peg ?

또는 파서 콤비네이터 접근법 : http://qntm.org/locoparser ?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top