2009-05-29 4 views

답변

1

:

표현 템플릿 ++ 우리가 완전히 C의 확장 된 배 커스 - 일반 양식 (EBNF)의 구문을 대략 할 수 있습니다.

그래서 할 수 있습니다 거의 쓰기 일반 EBNF하는 번역기에 대한 필요가 없습니다. 내가 정신에 친숙하지 않다

구문이 다른 방법을 정확하게 알고,하지만 정신 C++ EBNF실제 EBNF의 차이가 작은 경우 간단한 sed 스크립트는 충분할 수있다.
맞지 않으면 EBNF를 이해하는 영적 파서를 작성한 다음 AST를 사용하여 해당 AST의 정신 표현 인 C++ 코드를 만들 수 있습니다.

+2

큰 EBNF (http://grammatica.percederberg.net/grammar/asn1/asn1.grammar)의 경우에도 거의 동일합니다. 여전히 고통스런 상태입니다. 꼭 가질 필요는 없지만 도움이 될 것입니다. – chila

+1

문법이 큰 경우 Spirit을 사용하고 싶지 않을 것입니다.) –

+0

@Bill : 왜 안 되니? –

관련 문제