해석 된 프로그래밍 언어를 구문 분석하는 프로세스는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1921660

  •  20-09-2019
  •  | 
  •  

문제

구문 트리를 만드는 가장 좋은 방법을 알고 싶습니다.

도움이 되었습니까?

해결책 2

컴파일러와 통역사 작성을 배우기위한 표준 스택 오버플로 리소스는 다음과 같습니다. 컴파일러 작성 배우기

다른 팁

다음은 설명에 대한 설명입니다 초록 구문 트리 LLVM 프로젝트의 (AST).

괴롭히는 사람:

프로그램의 AST는 컴파일러의 후반 단계 (예 : 코드 생성)가 해석하기가 쉬운 방식으로 동작을 포착합니다. 우리는 기본적으로 언어로 각 구조에 대해 하나의 객체를 원하며 AST는 언어를 밀접하게 모델링해야합니다.

실제로 다른 언어와 다르지 않습니다. 해석 된 언어와 컴파일 된 언어의 차이점은 주로 프론트 엔드가 아니라 백엔드에 있습니다. 특정 언어에는 특정 구문 분석 요구 사항이있을 수 있지만 두 종류의 언어 간의 구문 분석 기술에서 의미있는 비교를 할 수는 없습니다.

파서에 대한 언어 요구 사항을 나열하지 않으므로 C 또는 C ++가 가능하다면 YACC를 보면서 시작해야합니다. http://en.wikipedia.org/wiki/yacc

YACC는 특정 구문에 대한 C 파서를 생성합니다. 그로 시작하는 것은 약간의 추가 작업 일지 모르지만 일단 일을 시작하고 굴러 가면 유지하기가 더 쉬울 것입니다.

면책 조항 : 나는 하나의 프로젝트에서 YACC 만 사용했으며 10 년 이상 전에 마일리지가 다를 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top