2014-01-07 4 views
1

gdb/mi 값을 트리로 구문 분석 할 수있는 간단한 gdb/mi 파서를 작성했습니다. 하지만 이제 스트리밍 파서를 작성하여 gdb/mi 출력의 일부를 파서에 전달하거나 색소 파서와 같은 것으로 만들 수 있습니다.스트리밍 gdb mi 파서

필자는 전체 mi 출력이 아닌 값을 구문 분석하기 위해 재귀 파서를 구현하는 방법 만 알고 있습니다. 게다가 파서가 멈추고 요구에 따라 계속하는 법을 모르겠습니다.

아무도 내게 어떤 생각을 줄 수 있습니까?

답변

0

몇 가지 일반적인 메모.

먼저 설명서의 MI 문법은 일부 장소에서 잘못되었습니다. 이전 버전과의 호환성으로 인해 아무도 코드를 수정하지 못했습니다. 게으름이나 기쁨의 부족이 무엇인지 모르기 때문에 아무도 매뉴얼을 고칠 수 없습니다. 세부 사항은 bugzilla의 닫힌 (한숨) 버그 나 메일 링리스트 아카이브에 있습니다.

두 번째 방법은 gdb의 각 출력 행을 구문 분석 할 텍스트로 처리하는 것입니다.

셋째, 이미 다른 여러 가지 기존 MI 파서가 있습니다. 기존의 것으로 시작하는 것이 좋습니다.

넷째, 파이썬에서 코드를 gdb 내부에 작성하고 전체 구문 분석을 피할 수 있습니다. 파이썬이 MI에 의해 노출 된 모든 기능을 다루고 있다는 것은 완전히 명확하지는 않지만 아마 거의 비슷할 것입니다.