2009-12-17 1 views

답변

2

다른 언어와 다른 점이 없습니다. 해석 된 언어와 컴파일 된 언어의 차이는 주로 프론트 엔드가 아닌 백엔드에서입니다. 특정 언어에는 특정 구문 분석 요구 사항이있을 수 있지만 두 가지 언어 클래스 간의 구문 분석 기술에서는 의미있는 비교를 할 수 없습니다. http://en.wikipedia.org/wiki/Yacc

Yacc에 사용자의 특정 구문에 대한 C 파서를 생성 C 또는 C++의 가능성이있는 경우, 당신은 yacc를보고 시작해야하므로

1

당신은, 당신 파서의 언어 요구 사항을 나열하지 않습니다. 그 일을 시작하는 것은 약간의 추가 작업 일지 모르지만 일을 끝내고 롤업하면 유지 관리가 더 쉬워야합니다.

면책 조항 : 저는 한 프로젝트에서 yacc만을 사용했으며 10 년 전이었습니다. 따라서 귀하의 근무 시간은 다를 수 있습니다.

+1

오라일리 (O'Reilly)는 lex와 yacc (ISBN 978-0596155971)에 해당하는 GNU flex와 bison에 관한 책을 방금 발표했습니다. Flex와 bison은 lex와 yacc보다 다루기가 훨씬 쉽습니다. –

3

다음은 LLVM 프로젝트의 abstract syntax trees (AST)에 대한 설명입니다.

티저 :

프로그램에 대한 AST 그것을 해석하는 컴파일러 (예컨대 코드 생성)의 후반부 쉽게되는 방식으로 동작을 캡처한다. 기본적으로 언어의 각 구문에 대해 하나의 객체가 필요하며 AST는 언어를 자세히 모델링해야합니다. 당신은 당신이 무엇을 발견 했는가 "분석"구글에서 때 컴파일러 및 통역을 쓰기 학습을위한

관련 문제