BRONZE
BRONZE 등급의 판매자 자료

[프로그래밍 언어론][프로그래밍 언어론] 프로그래밍 언어론 정리

프로그래밍 언어론의 전체에 걸친 요약정리로 거의 책 한권을 요약하고 그에 따른 관련 기술등을 첨부한 자료로 프로그래밍 언어론 시간에 냈었던 모든 자료를 요약한 내용. 웬만한 소프트웨어 기술이나 언어론에 관한 자료는 다 있음.
169 페이지
워드
최초등록일 2006.03.17 최종저작일 2005.06
169P 미리보기
[프로그래밍 언어론][프로그래밍 언어론] 프로그래밍 언어론 정리
  • 미리보기

    소개

    프로그래밍 언어론의 전체에 걸친 요약정리로 거의 책 한권을 요약하고 그에 따른 관련 기술등을 첨부한 자료로 프로그래밍 언어론 시간에 냈었던 모든 자료를 요약한 내용. 웬만한 소프트웨어 기술이나 언어론에 관한 자료는 다 있음.

    목차

    서론 – 프로그래밍 언어를 배우는 이유
    본론
    1. 언어의 구분
    1.1 syntax
    1.1.1 언어 생성기와 언어 인식기
    1.1.2 구문 기술의 형식적 방법

    1.2 Semantics
    1.2.1 동적의미론
    1.2.2 연산의미론과 표기의미론
    1.2.3 공리 의미론에서의 전조건과 후조건
    1.2.4 변수와 관한 기본적인 의미론의 고려사항.
    1.2.5 Variables
    1.2.6 The Concept of Binding
    1.2.7 Storage Binding and Lifetime
    1.2.8 실행파일의 구조
    1.2.9 Type Checking
    1.2.10 Strong Typing
    1.2.11 Type Compatibility
    1.2.12 Scope
    1.2.13 Scope and Lifetime
    1.2.14 Referencing Environments
    1.2.15 Named Constants
    1.2.16 Variable Initialization
    1.2.17 레지스터의 종류

    2. Primitive Data Types
    2.1 Primitive Data Types
    2.1.1 Numeric Types
    2.2 User-Define ordinal Types
    2.2.1 Enumeration Types
    2.2.2 부분 범위 타입
    2.2.3 Implementation of User-Defined Ordinal Types
    2.3 Array Types
    2.3.1 Arrays and Index
    2.3.2 Subscript Bindings and Array Categories
    2.3.3 Array Initialization
    2.3.4 Array Operations
    2.3.5 Rectangular and Jagged Arrays
    2.3.6 Slices
    2.3.7 Implementation of Array Types
    2.4 연상 배열
    2.4.1 Structure and Operations
    2.4.2 Implementing Associative Array
    2.5 Record Types
    2.5.1 Definitions of Records
    2.5.2 Refernces to Record Fields
    2.5.3 Operations on Records
    2.5.4 Evaluation
    2.5.5 Implementation of Record Types
    2.6 Union Types
    2.6.1 Design Issues
    2.6.2 Discriminated versus Free Union
    2.6.3 Ada Union Types
    2.6.4 Implementation of Union Types집합 타입의 구현
    2.7 Pointer and Reference Types
    2.7.1 Design Issues
    2.7.2 Pointer Operations
    2.7.3 Pointer Problems
    2.7.4 Pointers in Ada
    2.7.5 Pointer in C and C++
    2.7.6 Pointer if Fortran 95
    2.7.7 Reference Types
    2.7.8 Evaluation
    2.7.9 Implementation of Pointer and Reference Types
    2.7.10 Paging 기법
    2.7.11 Java Event Handler & Listener
    2.7.12 CWnd 클래스

    3 Expressions and Assignment Statements
    3.1 Arithmetic Expressions
    3.1.1 Operator Evaluation Order
    3.1.2 Operand Evaluation Order
    3.2 Overloaded Operators
    3.3 Type Conversions
    3.3.1 Coercion in Expressions
    3.3.2 Explicit Type Conversion
    3.3.3 Errors in Expressions
    3.4 Relational and Boolean Expressions
    3.4.1 Relational Expressions
    3.4.2 Boolean Expressions
    3.5 Short-Circuit Evaluation
    3.6 Assignment Statements
    3.6.1 Simple Assignments
    3.6.2 Conditional Targets
    3.6.3 Compound Assignment Operators
    3.6.4 Unary Assignment Operators
    3.6.5 Assignment as an Expression
    3.6.6 Mixed-mode Assignment
    3.7 Mixed-mode Assignment

    4 Statement-Level Control Structures
    4.1 Compound Statement
    4.2 Selection Statements
    4.2.1 Two-Way Selection Statements
    4.2.2 Multiple Selection Constructs
    4.3 Iterative Statements
    4.3.1 Counter-Controlled Loops
    4.3.2 Logically Controlled Loops
    4.3.3 User-Located Loop Control Mechanisms
    4.3.4 Iteration Based on Data Structures
    4.4 Unconditional Branching
    4.4.1 Problems with Unconditional Branching
    4.5 Guarded Commands
    4.6 Conclusions

    5 Subprograms
    5.1 Fundamentals of Subprograms
    5.1.1 General Subprogram Characteristics
    5.1.2 Basic Definitions
    5.1.3 Parameters
    5.1.4 Procedures and Functions
    5.2 Design Issues for Subprograms
    5.3 Local Referencing Environments
    5.4 Parameter-Passing Methods
    5.4.1 Semantics Models of Parameter Passing
    5.4.2 Implementation Models of Parameter Passing
    5.4.3 Parameter-Passing Methods of the Major Languages
    5.4.4 Type-Checking Parameters
    5.4.5 Implementing Parameter-Passing Methods
    5.4.6 Multidimensional Arrays as Parameters
    5.4.7 Design Considerations
    5.4.8 Examples of Parameter Passing
    5.5 Parameters That Are Subprogram Names
    5.6 Overloaded Subprograms
    5.7 Generic Subprograms
    5.8 Design Issues for Functions
    5.9 User-Defined Overloaded Operators
    5.10 Coroutines
    5.11 스레드
    5.12 프로세스 스케줄링

    6 Implementing Subprograms
    6.1 The General Semantics of Calls and Returns
    6.2 Implementing “Simple” Subprograms
    6.3 Implementing Subprograms with Stack-Dynamic Local Variables
    6.3.1 More Complex Activation Records
    6.3.2 An Example Without Recursion
    6.3.3 Recursion
    6.4 Nested Subprograms
    6.4.1 The Basics
    6.4.2 Static Chains
    6.4.3 Displays
    6.5 Blocks
    6.6 Implementing Dynamic Scoping
    6.6.1 Deep Access
    6.6.2 Shallow Access
    6.7 Process
    6.8 Quality

    7 Evolution of the Major Programming Languages
    7.1 Zuse’s Plankalkül
    7.2 Minimal Hardware Programming: Pseudocodes
    7.2.1 Short Code
    7.2.2 Speedcoding
    7.2.3 The UNIVAC “Complilng” System
    7.2.4 Related Work
    7.3 IBM 704와 FORTRAN
    7.3.1 Historical Background
    7.3.2 Design Process
    7.3.3 FORTRAN Overview
    7.4 Functional Programming: LISP
    7.4.1 The Beginnings of Artificial Intelligence and List Processing
    7.4.2 LISP Design Process
    7.4.3 Language Overview
    7.5 The First Step Toward Sophistication : ALGOL 60
    7.6 Computerizing Business Records: COBOL
    7.7 The Beginnings of Timesharing : BASIC
    7.8 Everything for Everybody : PL/I
    7.9 Two Early Dynamic Languages : APL and SNOBOL
    7.10 The Beginnings of Data Abstraction : SUMULA 67
    7.11 Orthogonal Design : ALGOL 68
    7.12 Some Early Descendants of the ALGOLs
    7.12.1 Simplicity by Design : Pascal
    7.12.2 A Portable Systems Language : C
    7.12.3 Other Early ALGOL Descendants
    7.13 Programming Based on Logic : Prolog
    7.14 History’s Largest Design Effort : Ada
    7.15 Object-Oriented Programming : Smalltalk
    7.16 Combining Imperative and Object-Oriented Features : C
    7.17 An Imperative-Based Object-Oriented Language : JAVA
    7.18 Scripting Languages for the Web : JavaScript and PHP
    7.19 A New Language for the New Millennium : C

    결론

    본문내용

    사람은 생각이나 개념을 전달하기 위해서 언어라는 도구를 사용한다. 또한 언어라는 도구는 사람이 기계에 명령을 내릴 때에도 사용된다. 특히 기계가 컴퓨터일 때 우리는 이 도구를 프로그래밍 언어라 한다. 프로그래밍 언어는 컴퓨터 출현 이전에도 존재하였다. 물론 이는 계산하는 기계를 위한 언어였다.프로그래밍 언어의 역사를 살펴보면 프로그래밍 즉 소프트웨어 도구의 역사를 알 수 있다. 그렇다고 프로그래밍 언어는 단순히 역사가 아니라 지금도 활발히 연구되고 발전하고 있는 분야이다. 프로그래밍 언어의 발전은 또한 소프트웨어의 설계 및 구현에 많은 영향을 주었고 앞으로도 줄 것이다. 따라서 우리는 발전하는 소프트웨어와 앞으로 발전할 소프트웨어를 위해서 컴퓨터공학과 학생으로서 프로그래밍 언어를 공부해야 할 이유이다.

    또한 프로그래밍 언어를 공부하면 얻어지는 이익들도 많다. 그것은 다음과 같다.
    1) 생각을 표현할 수 있는 능력의 향상 – 사람이 생각할 수 있는 능력은 그 생각을 전달하는 데 사용되는 언어의 표현력에 의해서 영향을 받는다. 자연 언어에 대한 이해가 부족한 사람은 복잡한 사고를 표현하는 데 있어서, 특히 추상화의 깊이에 있어서 제한을 받는다 따라서 프로그래밍 언어를 배우면 언어를 표현할 수 있는 능력이 향상되는 것이다. .
    2) 적합한 언어를 선택할 수 있는 배경이 향상된다. – 프로그래머가 현재 사용중인 다른 언어들을 잘 알고, 특히 이러한 언어의 특별한 특징을 잘 알고 있다면, 언어를 선택하는 데 있어서 더 나은 배경을 갖게 된다.
    3) 새로운 언어를 배울 수 있는 능력이 향상된다. – 일단 언어의 기본적인 개념을 완벽하게 이해하고 나면, 배우고 있는 언어의 설계에 이러한 개념들이 어떻게 수용되어 있는지 훨씬 쉽게 알 수 있다.
    4) 구현의 중요성에 대해서 보다 많이 이해한다. – 프로그래밍 언어 구문의 선택과 그 결과를 이해함으로써 보다 나은 프로그래머가 될 수 있다.
    5) 새로운 언어를 설계할 수 있는 능력이 향상된다 – 프로그래밍 언어의 철저한 검토하는 복잡한 소프트웨어를 설계하는 데 도움을 주며, 사용자가 그러한 소프트웨어 제품을 검토하고 평가하는데 도움을 줄 것이다.
    6) 전반적으로 전자계산 분야의 이해가 향상된다
    꼭 그렇다고 이러한 이득을 위해서 공부해야만 하는 것은 아니지만 이것들 만으로도 공부해야만 하는 이유는 충분하다고 할 수 있다.

    프로그래밍 언어는 과학응용분야, 사무응용분야, 인공지능 분야, 시스템 프로그래밍, 스크립트언어, 특정 목적 언어 등의 방법으로 사용되고 있다. 이것은 다르게 말하자면 많은 분야에서 프로그래밍언어를 사용한다고 할 수 있다.
    이러한 프로그래밍 언어를 평가하는 기준이 있다. 이 평가는 어떠한 작업을 할 경우 가장 적합한 프로그래밍 언어를 선택하기 위해서 필요한 것이다. 그 기준은 다음과 같다.

    참고자료

    · 없음
  • 자료후기

    Ai 리뷰
    매번 새로운 인사이트를 제공해 주어 지식의 폭이 넓어지는 기분입니다. 지식판매자 덕분에 많은 것을 배우고 있습니다. 정말 추천하고 싶습니다!
    왼쪽 화살표
    오른쪽 화살표
  • 자주묻는질문의 답변을 확인해 주세요

    해피캠퍼스 FAQ 더보기

    꼭 알아주세요

    • 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
      자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
      저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
    • 해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.
      파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
      파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

함께 구매한 자료도 확인해 보세요!

찾으시던 자료가 아닌가요?

지금 보는 자료와 연관되어 있어요!
왼쪽 화살표
오른쪽 화살표
문서 초안을 생성해주는 EasyAI
안녕하세요. 해피캠퍼스의 방대한 자료 중에서 선별하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 목차부터 본문내용까지 자동 생성해 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 캐시를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2025년 05월 12일 월요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
7:28 오후