2011-08-16 6 views
2

AFAIK LR 파서는 모두 테이블 기반 YACC 유사 도구에 의해 작성됩니다.gcc가 테이블 기반 컴파일러입니까?

LL 파서는 재귀 적 하향식 자손 알고리즘에 의해 수동으로 기록 될 수 있지만.

gcc의 경우와 완전히 다른 해결책을 사용하고 있습니까?

답변

1

C gcc는 yacc 다시 쓰기 인 bison을 사용했습니다. 그것은 오늘 재귀 하강 파서가있는 것 같습니다.

+0

Google은 gcc의 C 프런트 엔드의 재귀 적 파생 분석기를 표시하지 않는 것 같습니다. 이에 대한 참조는 있으십니까? –

0

gcc의 프런트 엔드 구현에 대한 특정 정책은 없지만 프런트 엔드 작성자는 구현하는 언어에 대해 가장 적합한 방법을 선택합니다. C++ 프론트 엔드는 손으로 작성된 재귀 적 하향 파서를 사용합니다.

+0

'C++ 프론트 엔드는 재귀 적 파생 파서 (parser recursive descent parser) '를 사용하여 관련 소스 또는 아티클에 대한 링크를 제공 할 수 있습니까? – asker

+0

실제로 gcc 메일 링리스트에서 읽었지 만 [gcc의 Wikipedia 페이지] (http://en.wikipedia.org/wiki/GNU_Compiler_Collection)에도 언급되어 있습니다. –

관련 문제