본문 바로가기
Department/System software

시스템 소프트웨어 과제#8

by mean. 2020. 7. 14.
728x90
반응형

EXERCISES Section 5.1

Problem 1 ~ Problem 4

5.1.1 그림 5.2의 문법에 따라 다음 <id-list>들에 대한 파스 트리를 그리시오.

a) ALPHA


5.1.2 그림 5.2의 문법에 따라 다음 <exp>들에 대한 파스 트리를 그리시오.

a) ALPHA + BETA

b) ALPHA - BETA * GAMMA

c) ALPHA DIV (BETA + GAMMA) - DELTA


5.1.3 그림 5.2의 문법에서 규칙 1011이 다음과 같이 수정되었다고 가정하자.

<exp> ::= <term> | <exp> * <term> | <exp> DIV <term>

<term> ::= <factor> | <term> + <factor> | <term> - <factor>

수정된 문법에 따라 문제 2<exp>들에 대한 파스 트리를 그리시오.

문법의 수정이 산술 연산자의 우선순위의 어떤 영향을 끼치는가?

answer :

a) ALPHA + BETA

b) ALPHA - BETA * GAMMA

c) ALPHA DIV (BETA + GAMMA) - DELTA

규칙 1011이 변경되면서 사칙연산의 중 *,DIV 연산과정의 접근 속도가 느려짐으로써

+,-*,DIV보다 계산속도가 빠르게 변경되었다.

사칙연산의 우선순위에는 영향을 끼치지 않았다.


5.1.4 그림 5.2의 문법에서 규칙1011이 삭제되고 다음의 단일한 규칙으로 변경되었다고 가정하자.

<exp> ::= <factor> | <exp> + <factor> | <exp> - <factor> | <exp> * <factor>

| <exp> DIV <factor>

수정된 문법에 따라 문제 2<exp>들에 대한 파스 트리를 그리시오.

문법의 수정이 산술 연산자의 우선순위에 어떤 영향을 끼치는가?

answer :

a) ALPHA + BETA

b) ALPHA - BETA * GAMMA

c) ALPHA DIV (BETA + GAMMA) - DELTA

규칙10,11을 단일한 규칙으로 변경하여서 <exp>,<factor>만으로 <id>에 접근할 수 있게 되었으며, <term>을 거치는 과정이 생략되었다.

위의 변경으로도 사칙연산의 우선순위에는 영향을 끼치지 않는다.

 

728x90
반응형