2022년 2학기 방송통신대 프로그래밍언어론 중간과제물)프로그래밍 언어의 세 가지 기본 기능 중 한 가지를 선택하여 자세히 설명하시오 BNF로 표현된 다음 세 개의 구문을 하나의 EBNF로 합쳐 표현하고 그렇게 표현한 이유를 설명 등
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

2022년 2학기 방송통신대 프로그래밍언어론 중간과제물)프로그래밍 언어의 세 가지 기본 기능 중 한 가지를 선택하여 자세히 설명하시오 BNF로 표현된 다음 세 개의 구문을 하나의 EBNF로 합쳐 표현하고 그렇게 표현한 이유를 설명 등에 대한 보고서 자료입니다.

목차

(1) 교재와 강의에서 다룬 기능과 기준에 근거하여 다음에 대해 답하시오. (15점)

① 프로그래밍 언어의 세 가지 기본 기능 중 한 가지를 선택하여 자세히 설명하시오.
② 프로그래밍 언어의 두 가지 부가 기능 중 한 가지를 선택하여 자세히 설명하시오.
③ 프로그래밍 언어의 아홉 가지 평가 기준 중 한 가지를 선택하여 자세히 설명하시오.


(2) 다음에 대해 답하시오. (15점)

① BNF로 표현된 다음 세 개의 구문을 하나의 EBNF로 합쳐 표현하고 그렇게 표현한 이유를 설명하시오.
<배열 선언> ::= <타입> <identifier> <배열 차원> ;
<타입> ::= char | int | double
<배열 차원> ::= [ <digit> ] <배열 차원> | [ <digit> ]

② ①에서 답한 EBNF 표현을 구문 도표로 표현하고 그렇게 표현한 이유를 설명하시오.


(3) 참고문헌

본문내용

가 아닌 그 자체의 의미 즉, 단말기호로 사용할 경우에는 \'|\', \'::=\'처럼 인용부호로 묶어 표현한다.
구문 도표(syntax diagram)는 구문을 도식적으로 기술하는 방법으로 BNF와 EBNF을 표현할 수 있다. 형태는 순서도와 유사하다. 비단말 기호는 사각형으로, 단말기호는 원이나 타원으로, 화살표를 이용해 순서를 표현한다. 구문 도표에서 화살표는 나누어지거나 합쳐지기도 하고 반대 방향을 되돌아갈 수 있게 함으로써 택일이나 반복 등을 표현하게 된다.
EBNF 표현과 BNF 표현은 상호 변환이 가능하다. 메타 기호 []는 메타 기호 |을 이용하여 []로 묶인 부분이 있는 것과 없는 것으로 나누어 BNF 표현이 가능하다. 또한 메타 기호()는 ()의 바깥 부분을 반복하여 표현해 BNF로의 전환이 가능하다. 메타 기호 {}는 {}로 묶인 부분이 0번 이상 사용되는 경우와 한 번 이상 반복되는 경우로 나누어 BNF로 표현한다. 반복하는 방법은 메타 기호 ::=의 왼쪽 부분에 나오는 비단말 기호를 오른쪽 부분에도 사용하는 것이다.
한 BNF 표현을 다양한 EBNF로 표현할 수 있는 것처럼 같은 문법을 여러 형태의 구문 도표로 표현할 수 있다. 또한 비단말을 표시하고 있는 사각형을 참조하지 않도록 하기 위해 직접 그 내용을 구문 도표에 대입할 수도 있다.
① BNF로 표현된 다음 세 개의 구문을 하나의 EBNF로 합쳐 표현하고 그렇게 표현한 이유를 설명하시오.
<배열 선언> ::= <타입> <배열 차원> ;
<타입> ::= char | int | double
<배열 차원> ::= [ ] <배열 차원> | [ ]
위 내용을 참고하여 <배열 선언>의 BNF 3개를 다음처럼 하나의 EBNF로 표현할 수 있다.
<배열 선언> ::= (char | int | double) \'[\'\']\' {\'[\'\']\'}
‘타입’ 비단말 기호를 표현하기 위해 한정된 범위의 택일을 표현하는 메타기호 ()와 |를 사용했다. 또한 ‘배열 차원’ 비단말 기호는 0회 이상의 반복을 표현하는 메타기호 {}로 표현하면 된다. 이때 [ 와 ]는 메타기호가 아니라 단말기호로 사용되므로, 메타기호 \'\'를 사용하여 메타기호가 아님을 표현한다.
② ①에서 답한 EBNF 표현을 구문 도표로 표현하고 그렇게 표현한 이유를 설명하시오.
EBNF 표현에서 (char | int | double)는 구문도표에서는 화살표로 표현가능하다. 즉, 화살표를 세 방향으로 나누어 char, int, double의 선택을 가능하게 한 후 다시 한 곳에서 만나게 한다. 비단말기호 identifier와 digit는 사각형으로 표현하고, 메타기호가 아닌 [ 와 ]는 문자 그 자체로써 인용부호(\'\')로 표현한다. 0번 이상의 반복을 의미하는 {\'[\'\']\'}는 화살표를 반대 방향으로 되돌림으로써 필요한 만큼 반복이 가능해진다.
(3) 참고문헌
우균·김진욱(2019), 프로그래밍언어론, 출판문화원.
  • 가격15,000
  • 페이지수7페이지
  • 등록일2022.09.08
  • 저작시기2022.09
  • 파일형식한글(hwp)
  • 자료번호#1183805
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니