문제

나는 최근에 쓴 파서는 파이썬에서 사용 가닥(그것이 재구현의 yacc).었을 때 거의 수행으로 파서 발견된 문법이 필요를 분석해서 요구하는 몇 가지 보안 분석을 알려졌.하지 않고도 찾을 알리는 테스트 결과가 없습니다 올바르게 문자열을 분석합니다.

주어진다고 할 수의 상태를 제어 렉에서의 문법 규칙을 생각 나는 것을 해결 내용을 사용하여 케이스의 테이블에서 파서 모듈이지만,그것은 될 수 있습니다 너무 어려운이 유지/테스트입니다.그래서에 대해서 알고 싶습니다 몇 가지 다른 옵션이 있습니다.

파일에 사용하는 것이 파섹,라이브러리의 분석 기능(으로 알려진되었).이 있는 파이썬의 구현 파섹?또는 아마도 다른 생산 품질 라이브러리의 전문 분석 기능을 할 수 있도록 구축한 상황에 맞는 파서에서는 파이썬?

편집:내 모든 시도에서의 컨텍스트에는 무료 구문 분석이 있지 못했습니다.이러한 이유로,난 기대하지 않 ANTLR 될 이러한 경우에 유용합니다.

도움이 되었습니까?

해결책

는 옵션을 고려할 수 있습니다면,LL 파서 확인하는 당신을 제공하는 것입니다 ANTLR 사용해 보시기 바랍니다,그것은 생성할 수 있는 파이썬은 너무(실제로는 LL(*)그들은 그것을 이름*대한 양의 우측에 대처 할 수 있).

다른 팁

내가 믿고 pyparsing 에 따라 동일한 원칙으로 파섹.

PySec 은 다른 monadic 파서,나는에 대해 많이 알고하지 않다,하지만 그럴 가치가 있어 보고

가 ANTLR,는 LL(*)가 PyParsing 는 더 많은 개체는 친절한과 같은 종류 DSL,그리고 거기에 구문 분석 는 여러분의 선돌.

아무것도 당신을 막는 기분전환을 위한 당신의 파서"에서 맥락"무료로 사용하여 경로를 플라이.당신이 정보를 전달할 수 있습 렉 구문 분석하는 동안,이 방법으로 달성하는 완벽한 유연성.나는 확신할 수 있는 구문 분석 당신이 원하는 무엇이든 가닥이다.

손에 들어, 고려 -그것은 파서 ANSI C 파이썬으로 작성된 플라이.이를 해결합 클래식 C typedef 식별자 문제(만드는 C 의 문법이 아닌 상황에 맞)으로 채우는 기호 테이블에서 파서에서 사용되는 렉를 해결하는 기호 이름으로 하거나 유지 않습니다.

ANTLR 문가의 혜택을 추가 작업에 걸쳐 여러 언어로 제공됩니다.

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