[프로그래밍 언어론]프로그래밍 언어론 [정익사] - 원유헌 저
- 최초 등록일
- 2006.04.27
- 최종 저작일
- 2006.04
- 16페이지/
한컴오피스
- 가격 2,500원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
프로그래밍 언어론 연습문제 1장부터 9장까지의 답입니다.
답안의 내용을 꼼꼼하게 적어서 공부하시는 분들에게 많은 도움이 될꺼라 믿습니다. 교재는 [프로그래밍 언어론 - 정익사] 입니다.
목차
프로그래밍 언어론 연습문제(1장~9장) 정리
본문내용
■ [5.1] 몇몇의 프로그래밍 언어에서는 특별한 언급이 없는 한 식별자의 길이를 제한하고 있다. 그 이유가 무엇인지 알아보아라. 또한, 식별자의 첫 번째 문자를 영문자로 시작하도록 제한하고 있는 이유도 밝혀라.
- 그 이유는 각 프로그래밍 언어의 컴파일러 때문이다. 컴파일러가 소스코드를 실행 가능한 기계어로 번역한다. 식별자의 길이가 무제한이라면 프로그래밍 하는데 있어서(코드작성) 너무 긴 식별자를 사용함으로써 불편을 야기 시키며, 긴 식별자의 사용으로 인한 오타로 인해서 컴파일시 에러가 발생할 수 있으며, 디버깅에 많은 문제점을 야기 시킨다. 식별자의 첫 문자를 숫자로 시작하면, 이 식별자가 식별자인지 숫자인지 컴파일러가 구별하기 어렵기 때문에 첫 번째 문자를 영문자로 시작하도록 제한하는 것 같다.
■ [5.2] C, Java에서 다음과 같은 속성들에 대한 정확한 바인딩 시간을 조사하고, 그 이유를 논하라.
(1) 실수의 자릿수
- C: 언어의 구현시간
Java: 언어의 정의시간
Java의 경우 virtual machine에서 실행되는 바이트 코드를 사용함으로써 특정 컴퓨터에 종속적이지 않기 때 문에 언어의 정의 시간에 바인딩이 일어난다.
(2) 문자형의 의미
- C: 언어의 구현시간
Java: 언어의 정의시간
Java의 경우 virtual machine에서 실행되는 바이트 코드를 사용함으로써 특정 컴퓨터에 종속적이지 않기 때 문에 언어의 정의 시간에 바인딩이 일어난다.
(3) 배열 변수의 크기
- C: 언어의 구현시간
Java: 언어의 정의시간
Java의 경우 virtual machine에서 실행되는 바이트 코드를 사용함으로써 특정 컴퓨터에 종속적이지 않기 때 문에 언어의 정의 시간에 바인딩이 일어난다.
(4) 배열 매개 변수의 크기
- C: 번역시간
Java: 실행시간
Java의 경우는 동적할당이 가능하기 때문에 실행시간, C의 경우는 동적할당이 가능하지 않기 때문에 번역시 간에 바인딩이 발생한다.
(5) 지역 변수의 영역
- C, Java 모두 번역시간에 변수의 영역을 바인딩한다.
(6) 상수의 값
- C, Java: 상수의 값을 의미하는 것은 언어의 정의시간, 상수의 값이 실제 기계에 어떻게 표현되는지는 언어의 구현시간, 기억장소에 상수의 값을 넣는 것은 번역시간
(7) 함수의 영역
- C, Java : 실행시간에 함수의 영역이 바인딩된다.
■ [5.3] 다음 문장에 대한 여러분의 생각을 논하라.
- 바인딩이 번역시간에 발생할 경우 실행코드를 최적화 시킬 수 있기 때문에 언어 설계의 안정성 및 효율성을 높일 수 있다는 장점이 있다. 그러나 배열의 크기를 프로그램 작성과정에 미리 확정지어야하는 등의 문제점이 있다. 실행시간에 바
참고 자료
프로그래밍 언어론 [정익사 - 원유헌 저]