저는 간단한/기본 사용자 정의 언어 (perl/C like)에 대한 통역사 작성에 관한 학부 프로젝트를 수행하려고 생각하고 있습니다. 누군가가 올바른 방향으로 나를 시작할 수 있으면 기쁠 것입니다. 내가 찾은 책/자원의 대부분은 컴파일러의 이론적 인 구현에 있습니다. 통역 인을위한 자료가 있습니까? C++로 구현하려고 생각하고 있지만 인터프리터 디자인에 대한 지식이 거의 없으므로 책/참고 문헌에 대한 모든 정보를 얻을 수 있습니다통역사 설계에 도움이 필요합니다
3
A
답변
3
컴파일러간에 소스 코드의 구문 분석은 크게 다르지 않습니다. 통역사. 이것이 컴파일러에 대한 대부분의 교과서에 관한 것입니다.
2
사용자 지정 언어를 구현할 수있는 유용한 도구가 있습니다.
자유롭게 사용할 수있는 IntelliJ의 언어 워크 벤치 인 Eclipse Modeling Package (http://www.eclipse.org) 또는 MPS (http://www.jetbrains.com/mps/)에서 Xtext를 체크 아웃 할 수 있습니다.
두 가지 모두를 사용하면 언어를 만들고 코드 작성을 돕기 위해 소스 및 도구에서 코드를 생성 할 수있는 도구를 제공 할 수 있습니다.
또한 직접 조작되거나 실행될 수있는 추상 구문 트리를 생성합니다. 그런 다음 통역관이 있습니다.
클래식 접근법은 bison/yacc를 각각 렉서 (lexer) 및 파서로 사용하는 것이고 많은 새로운 도구는 현재 antlr과 같이 사용할 수 있습니다. 파서의 출력은 다시 보간을하거나 코드를 생성 할 준비가 된 추상 구문 트리가됩니다.
1
An Incremental Approach to Compiler Construction - 컴파일러를 만드는 것이지만 참조를 찾는 데는 좋은 출발점이 될 수 있습니다.
1
Uni에서 논리 표현식을 읽고 변환하기위한 인터프리터를 작성했습니다. 옛날 유닉스와 C 프로그래머가 맹세 한 C, Lexx, Yacc에서 썼다. 일단 당신이 그 (것)들의 걸림 새를 얻으면 매우 강력한, 그러나 나가 말할 것입니다 합리적으로 가파른 배움 곡선.
관련 문제
- 1. SQL 문 설계에 도움이 필요합니다.
- 2. 데이터베이스 설계에 대한 도움이 필요합니다.
- 3. 큰 데이터베이스 업데이트 프로세스 설계에 도움이 필요합니다
- 4. 프로세스 간 통신 계층 설계에 도움이 필요합니다.
- 5. 통역사 작성에 대한 지침이 필요합니다.
- 6. 시간표 생성 응용 프로그램에 대한 데이터베이스 설계에 도움이 필요합니다.
- 7. 환경 설정 테이블 데이터베이스 설계에 대한 도움이 필요합니다.
- 8. SQL 선택에 사용되는 규칙 테이블 설계에 도움이 필요합니다.
- 9. 도움이 필요합니다.
- 10. 언어 통역사 만들기
- 11. 플렉스 시각화에 도움이 필요합니다
- 12. 부스트 adjacency_list 도움이 필요합니다.
- 13. Struts 도움이 필요합니다
- 14. CSS가있는 도움이 필요합니다
- 15. AJAX 도움이 필요합니다.
- 16. PHP에서 도움이 필요합니다.
- 17. 레일, 메서드, 도움이 필요합니다.
- 18. Zend_Form_Element_File의 도움이 필요합니다.
- 19. 도움이 필요합니다. twitter post
- 20. serialization에서 도움이 필요합니다.
- 21. 도움이 필요합니다 xpath ... please
- 22. 계산 오류 - 도움이 필요합니다!
- 23. 데이터베이스 생성에 도움이 필요합니다.
- 24. MATLAB의 FFT (도움이 필요합니다)
- 25. LINQ 리팩터링 도움이 필요합니다
- 26. 심각한 조립 도움이 필요합니다.
- 27. EJB 도움이 필요합니다
- 28. 이진 열의 도움이 필요합니다
- 29. 레코드 표시에 도움이 필요합니다
- 30. 웹 크롤링 도움이 필요합니다.