Lin Descriptor File을 구문 분석하는 데 사용할 수있는 PC 응용 프로그램을 개발할 때 가능한 파서를 연구하려고합니다. 현재 파서 응용 프로그램은 flex-bison 파싱 접근 방식을 기반으로합니다. 이제 현재 파서가 특정 오류를 감지 할 수 없기 때문에 파서를 다시 디자인해야합니다.Lin Descriptor File parser
정규 표현식 (Regex : https://en.wikipedia.org/wiki/Regular_expression) 구문 분석을 위해 Ragel 파서 (https://en.wikipedia.org/wiki/Ragel)를 사용했으며 매우 유용했습니다.
그러나 현재 복잡도가 LDF-file
인 경우 Ragel (호스트 언어로 C++ 사용)이 LDF-file
을 구문 분석하기위한 최선의 방법인지 확신 할 수 없습니다. 그 이유는 LDF-file
에 고정되거나 일정하지 않은 많은 데이터가 있지만 공급 업체마다 다릅니다. 또한 LDF
필드는 파일의 오류를 감지하기 위해 다른 필드에 대한 참조를 보유해야합니다. 구문 분석에 대한 구조가 고정 될 때 Ragel가 더 적합하다 (내가 찾은 이잖아 정규식 파서를 개발하는 동안)
이미 프로젝트에 근무하고있다 사람은 린 설명자에 대한 적절한 파서를 선택하는 몇 가지 팁을 제공 할 수있다 파일. 린 설명자 파일에 대한
예 : http://microchipdeveloper.com/lin:protocol-app-ldf 당신은 LALR (1) 파서가 파싱 문제에 적합하지 않다고 생각되면
이 질문은 구문 분석하려는 파일 형식에 대한 설명 링크가 도움이 될 수 있습니다. – rici
@rici - lin 설명자 파일의 기본 예제를 추가했습니다. – user2559758
감사합니다. 링크 된 사양 문서의 9 번 항목을 살펴본 결과 내 대답을 변경해야하는 이유가 무엇인지 알지 못합니다. bison/flex를 사용하여 해당 형식을 구문 분석하는 것과 관련된 특정 문제가있는 경우 좀 더 구체적인 질문을하십시오. – rici