구문 트리를 만드는 가장 좋은 방법은 알고 싶습니다.해석 된 프로그래밍 언어를 구문 분석하는 프로세스는 무엇입니까?
답변
표준 스택 오버플로 자원 는 Learning to write a compiler
다른 언어와 다른 점이 없습니다. 해석 된 언어와 컴파일 된 언어의 차이는 주로 프론트 엔드가 아닌 백엔드에서입니다. 특정 언어에는 특정 구문 분석 요구 사항이있을 수 있지만 두 가지 언어 클래스 간의 구문 분석 기술에서는 의미있는 비교를 할 수 없습니다. http://en.wikipedia.org/wiki/Yacc
Yacc에 사용자의 특정 구문에 대한 C 파서를 생성 C 또는 C++의 가능성이있는 경우, 당신은 yacc를보고 시작해야하므로
당신은, 당신 파서의 언어 요구 사항을 나열하지 않습니다. 그 일을 시작하는 것은 약간의 추가 작업 일지 모르지만 일을 끝내고 롤업하면 유지 관리가 더 쉬워야합니다.
면책 조항 : 저는 한 프로젝트에서 yacc만을 사용했으며 10 년 전이었습니다. 따라서 귀하의 근무 시간은 다를 수 있습니다.
오라일리 (O'Reilly)는 lex와 yacc (ISBN 978-0596155971)에 해당하는 GNU flex와 bison에 관한 책을 방금 발표했습니다. Flex와 bison은 lex와 yacc보다 다루기가 훨씬 쉽습니다. –
다음은 LLVM 프로젝트의 abstract syntax trees (AST)에 대한 설명입니다.
티저 :
프로그램에 대한 AST 그것을 해석하는 컴파일러 (예컨대 코드 생성)의 후반부 쉽게되는 방식으로 동작을 캡처한다. 기본적으로 언어의 각 구문에 대해 하나의 객체가 필요하며 AST는 언어를 자세히 모델링해야합니다. 당신은 당신이 무엇을 발견 했는가 "분석"구글에서 때 컴파일러 및 통역을 쓰기 학습을위한
- 1. Ragel에서 템플릿 언어를 구문 분석하는 방법은 무엇입니까?
- 2. 다중 패스에서 문자열을 구문 분석하는 프로그래밍 관용구
- 3. 컴파일 된 해석 언어
- 4. 해석 된 표준 라이브러리
- 5. Go 프로그래밍 언어를 컴파일하는 것이 얼마나 어렵습니까?
- 6. Java는 컴파일 된 언어 또는 해석 된 프로그래밍 언어입니까?
- 7. 파이썬에서 조작 된 HTML을 구문 분석하는 방법
- 8. textinput에서 입력 된 텍스트를 구문 분석하는 방법
- 9. 내 중첩 된 XML을 구문 분석하는 방법?
- 10. SQL Server 구문 오류 해석
- 11. 프로그래밍 언어를 프로그램에 포함하기
- 12. 어떤 프로그래밍 언어를 배워야합니까?
- 13. iPhone에서 중첩 된 xml을 구문 분석하는 방법은 무엇입니까? "결혼"데이터
- 14. WebServices를 사용하여 xQuery에 반환 된 XML을 구문 분석하는 방법은 무엇입니까?
- 15. Javascript Jquery를 사용하여 동적으로로드 된 HTML을 구문 분석하는 방법은 무엇입니까?
- 16. Ruby에서 탭으로 구분 된 텍스트 줄을 구문 분석하는 방법은 무엇입니까?
- 17. 동적으로 생성 된 웹 콘텐츠를 읽거나 구문 분석하는 방법은 무엇입니까?
- 18. 텍스트를 구문 분석하는 가장 빠른 방법은 무엇입니까?
- 19. 일반적으로 HTML을 구문 분석하는 C#?
- 20. GWT에서 날짜를 구문 분석하는 방법은 무엇입니까?
- 21. C#에서 HTMLDocument를 구문 분석하는 방법은 무엇입니까?
- 22. Java를 사용하여 어셈블리 언어를 포함하는 파일을 구문 분석하는 가장 좋은 방법은 무엇입니까?
- 23. jQuery 선택에서 숫자를 구문 분석하는 방법은 무엇입니까?
- 24. 파일을 구문 분석하는 도구
- 25. XMI를 구문 분석하는 방법?
- 26. 구문 분석하는 방법 링크
- 27. 3 가지 프로그래밍 언어를 연결하는 방법은 무엇입니까?
- 28. XSD 파일을 구문 분석하는 방법
- 29. C++ 프로그램 인수를 구문 분석하는
- 30. 대표자의 주요 프로세스는 무엇입니까?
입니까? 대부분의 해석 된 언어 구문은 오픈 소스입니다. 간단히 다운로드 할 수 있습니다. 무엇을 알아야합니까? 무슨 언어로 말하는거야? –