2009-09-26 5 views
1

AST의 XML 트리를 생성 할 수있는 (E) BNF 파서가 있습니까?(E) BNF XML 구문 분석

Rephrasing : (E) BNF 정의 언어를 일종의 XML로 컴파일하는 가장 빠른 방법은 무엇입니까?

보너스 :

+0

당신이 명확히 할 수 있습니까? 어떤 종류의 XML을 출력으로 사용 하시겠습니까? –

+0

최근에 썼습니다 만 닫힌 소스입니다) 많은 무료/오픈 파서 생성기가 있습니다. 그 중 하나는 XML 출력에 바인딩됩니다. – Joren

+0

결과 구문 분석 트리. 싹둑 예 : <우편 주소> :: = <거리 주소> 은 얻을 것이다 : <거리 주소> ... ... -address> ...

답변

1

지금까지 AntLR과 StringTemplate 인터페이스를 사용하는 것이 가장 좋습니다. JavaScript target도 지원합니다.

0

무료하지 자바 스크립트 :-)를 사용하지만 XML을 생성합니다 DMS Software Reengineering Toolkit. 다양한 사전 정의 된 언어 정의 (C, C++, C#, Java, COBOL, Javascript, XML 등)를 사용할 수 있습니다.

질문은 무엇입니까? 일부 언어를 심각하게 처리하는 경우 AST (대개 기호 테이블 필요) 이상의 것을 필요로합니다.

+0

문제는 XML DSL이 있고 중복이 많으며 사람이 거의 읽을 수없는 시스템과 상호 운용하려고하는 것입니다. 나는 XML AST를 얻을 수 있다면 XSLT가 내 문제를 해결할 것이라고 생각한다. (비록 심볼 테이블에 대해서는 생각하지 않았다.) \\) –

+0

DSL의 요점은 사람들이 읽을 수 있도록 만드는 것이다. 나는 사람들이 같은 호흡에서 "DSL"과 "XML"이라고 말하는 것을 듣고 거의 울고 싶다. 파서의 요점은 사람들이 쓰는 것을 읽고 기계가 처리 할 수있는 것으로 만들기위한 것입니다. XML DSL은 "나는 파서를 작성하기에는 너무 게으르다"라는 약어를 사용합니다. –

+0

당신은 나의 요지를 오해했습니다. DSL은 XML이 아니지만 해석 엔진은 XML 만 허용합니다. 인간이 읽을 수있는 DSL을 만들려고하는데 컴파일 후 엔진에서 읽을 수있는 자세한 XML을 출력합니다. –