2010-08-18 8 views
3

저는 간단한/기본 사용자 정의 언어 (perl/C like)에 대한 통역사 작성에 관한 학부 프로젝트를 수행하려고 생각하고 있습니다. 누군가가 올바른 방향으로 나를 시작할 수 있으면 기쁠 것입니다. 내가 찾은 책/자원의 대부분은 컴파일러의 이론적 인 구현에 있습니다. 통역 인을위한 자료가 있습니까? C++로 구현하려고 생각하고 있지만 인터프리터 디자인에 대한 지식이 거의 없으므로 책/참고 문헌에 대한 모든 정보를 얻을 수 있습니다통역사 설계에 도움이 필요합니다

답변

3

컴파일러간에 소스 코드의 구문 분석은 크게 다르지 않습니다. 통역사. 이것이 컴파일러에 대한 대부분의 교과서에 관한 것입니다.

2

사용자 지정 언어를 구현할 수있는 유용한 도구가 있습니다.

자유롭게 사용할 수있는 IntelliJ의 언어 워크 벤치 인 Eclipse Modeling Package (http://www.eclipse.org) 또는 MPS (http://www.jetbrains.com/mps/)에서 Xtext를 체크 아웃 할 수 있습니다.

두 가지 모두를 사용하면 언어를 만들고 코드 작성을 돕기 위해 소스 및 도구에서 코드를 생성 할 수있는 도구를 제공 할 수 있습니다.

또한 직접 조작되거나 실행될 수있는 추상 구문 트리를 생성합니다. 그런 다음 통역관이 있습니다.

클래식 접근법은 bison/yacc를 각각 렉서 (lexer) 및 파서로 사용하는 것이고 많은 새로운 도구는 현재 antlr과 같이 사용할 수 있습니다. 파서의 출력은 다시 보간을하거나 코드를 생성 할 준비가 된 추상 구문 트리가됩니다.

1

Uni에서 논리 표현식을 읽고 변환하기위한 인터프리터를 작성했습니다. 옛날 유닉스와 C 프로그래머가 맹세 한 C, Lexx, Yacc에서 썼다. 일단 당신이 그 (것)들의 걸림 새를 얻으면 매우 강력한, 그러나 나가 말할 것입니다 합리적으로 가파른 배움 곡선.

http://www.lugbe.ch/action/reports/lex_yacc.pdf

관련 문제