2009-05-16 6 views
4

텍스트 상자에 텍스트를 제공하고 (BNF를 편집하여) 파서 문법과 토큰 구조를 실험 할 수있는 유틸리티를 원합니다. 파스 트리가 어떻게 보일지 알 수 있습니다. 현재 문법을 사용하여 텍스트를 파싱 할 수없는 경우 중단 된 부분을 볼 수 있습니다.컨텍스트 무료 파서 문법 작성을위한 대화식 유틸리티 찾기

키워드는 상호 작용입니다. 예를 들어 flex와 bison을 사용하여이 작업을 수행 할 수는 있지만 필자의 렉서와 파서를 다시 만들어야합니다.

거기에 뭔가가 있습니까? 나는 아무 것도 발견하지 못했다. 이상적으로 그것은 리눅스에서 작동해야하며 무료입니다. 옵션이 아니라면 여전히 관심의 대상입니다.

+0

이것은 나를 위해 유용한 도구입니다. 내 대답에서 길을 끝내면 내 이메일을 줄 수 있고 공동 작업을 할 수 있습니다. 빠른 문법 테스트에 아주 좋습니다. –

+0

나는 이것을 발견, http://jscc.jmksf.com/jscc_on_web.png 대답을 추가했습니다. –

답변

5

당신은 내가 아무것도 보지 못했다

GTKSourceView를 사용 pyBison 친구들과 그것을 노크 수 있지만, 당신은 당신이 원하는 경우이 작업을 수행하는 프로그램을 작성할 수 있습니다. Bison의 소스를 DSO로 포팅하여로드하고 BNF를 실행하고 자동 테이블을 꺼낼 수 있습니다. 또는 - - 그런 다음 GTK 소스 뷰 텍스트 상자

에 evalutation를 부착

(GTKSourceView 다시 좋은 것 같다) 프론트 엔드를 작성하고 일부 시스템이 flex.c와 들소를 작성 호출에 그 첨부 .c 그리고 일부 공유 객체 output.so를 작성한 다음 응용 프로그램에로드 및 언로드하여 일부 소스를 실행할 수 있습니다.

문법을 개발할 때 자주하는 일은 개발 속도를 높이기 위해 pyBison 및 기타 고급 언어 도구를 사용하는 것입니다. 그런 다음 나중에 .l 및 .y 파일과 함께 C/Flex/Bison을 사용하십시오. GTK는 Python에서 DSO와 dlopen() fandango가 필요없이 위와 같은 작업을 수행하기 쉽습니다.

시간 이후

내가이 다른 질문에 대답을 발견

BNF가 테스트 구문은 어떤 백엔드 D와 루프에 이에 읽기 - 평가 - 인쇄 루프/NFA 발전기 매우 유사

:

http://jscc.jmksf.com/jscc_on_web.png

는 자바 스크립트 파서를 생성하는 자바 스크립트 Yacc에/들소와 같은 도구입니다. 어쨌든 BNF처럼 쉽게 C 문법을 디버깅 할 수 있습니다! 나는 그것을 확실히 사용할 것이다.

+0

안녕하세요. 지금까지 당신에게 돌아 오지 못해서 미안 해요. 이것은 여가 시간이며 일은 꽤 힘들었습니다. :-) 이런 프로젝트에 기여할 시간이 없다고 생각합니다. 파이썬을 조금만 사용해 보았지만 결코 GTK를 사용하지 않았기 때문에 지식이 부족할 수도 있습니다.그러나 좋은 생각입니다. 취미 프로젝트에 투자 할 시간이 더 있었으면합니다. 링크 된 도구로 충분합니다. 아직 테스트하지는 않았지만 그렇게 할 것을 고대하고 있습니다! 답변 해 주셔서 감사합니다. –

+0

@Kent - 아무 걱정도,이 하나를 기다리고있다;) 그 도구는 꽤 멋지다. 단지 그것을 어제 발견했다 : P 행운을 빌어 요! –

4

ANTLRWORKS (http://www.antlr.org/works/index.html)는 지금까지 본 최고의 대화식 문법 개발 환경입니다. 이제 ANTLR로 작성된 LL (*) 문법을 시각화하고 디버깅 해 보겠습니다.