* 이 포스트는 이전에 공부하면서 보고서로 작성한 것을 그대로 포스팅 한 것입니다.
* 참조교재 : 프로그래밍 언어론 (한빛미디어)
파스트리(parse tree)는 BNF 유도 과정을 이해하기 쉬운 트리 형태의 계층적 구조로 나타낸 것으로, 파스트리의 시작 기호는 근(root)입니다.
이는 어떠한 표현이 BNF에 의해 바르게 작성되었는지를 확인하기 위해 작성하는데,
문법의 시작 기호(non-terminal)로부터 적합한 생성 규칙을 적용할 때마다 가지치기가 이루어집니다.
트리의 모든 가지가 터미널로 유도되어 가지치기가 끝난 상태의 트리를 파스트리라 하며,
일 파스트리가 존재하면 이는 주어진 BNF에 의해 올바르게 작성되었음을 의미합니다.
파스트리에서 내부의 노드들은 비단말 기호로 표시되며, 모든 잎 노드(leaf node)들은 단말 기호로 표시됩니다.
다음은 앞서 BNF를 언급하며 예시로 다루었던 123에 대한 유도 과정을 파스 트리로 나타내는 과정입니다.
당시에 열심히 그린답시고 그렸었던 것 같은데 거의 발그림 수준이네요... ^^;;
* 참조교재 : 프로그래밍 언어론 (한빛미디어)
파스트리(parse tree)는 BNF 유도 과정을 이해하기 쉬운 트리 형태의 계층적 구조로 나타낸 것으로, 파스트리의 시작 기호는 근(root)입니다.
이는 어떠한 표현이 BNF에 의해 바르게 작성되었는지를 확인하기 위해 작성하는데,
문법의 시작 기호(non-terminal)로부터 적합한 생성 규칙을 적용할 때마다 가지치기가 이루어집니다.
트리의 모든 가지가 터미널로 유도되어 가지치기가 끝난 상태의 트리를 파스트리라 하며,
일 파스트리가 존재하면 이는 주어진 BNF에 의해 올바르게 작성되었음을 의미합니다.
파스트리에서 내부의 노드들은 비단말 기호로 표시되며, 모든 잎 노드(leaf node)들은 단말 기호로 표시됩니다.
다음은 앞서 BNF를 언급하며 예시로 다루었던 123에 대한 유도 과정을 파스 트리로 나타내는 과정입니다.
당시에 열심히 그린답시고 그렸었던 것 같은데 거의 발그림 수준이네요... ^^;;
'컴퓨터' 카테고리의 다른 글
SQL 주요 함수 #1 (0) | 2011.03.23 |
---|---|
파이어폭스4 정식 출시 (0) | 2011.03.23 |
[SQL] SELECT 구문의 기본 (0) | 2011.03.21 |
[프로그래밍 언어론] 구문분석의 모호성 (0) | 2011.03.20 |
[프로그래밍 언어론] 구문 분석 방법 (2) | 2011.03.20 |
[프로그래밍 언어론] BNF (Backus-Naur Form) 란? (0) | 2011.03.20 |
Base64 인코딩에 대한 잡설 (0) | 2011.03.20 |
[Java] Conversion과 Casting (0) | 2011.03.19 |
[Java] Primitive data type (원시 자료형) (0) | 2011.03.19 |
[Flash] Base64 Encoder & Decoder for flash (0) | 2011.03.18 |
IE9 이상으로 브라우저를 업그레이드하거나, 크롬, 파이어폭스 등 최신 브라우저를 이용해주세요.