Computer Science

컴파일러는 고급 언어로 쓰인 프로그램을 어떤 특정 컴퓨터에서 직접 실행이 가능한 형태의 프로그램으로 번역해주는 컴퓨터 프로그램이다. 일반 컴파일러 구조 컴파일러의 일반적인 구조는 다음과 같이 생겼다. 크게 프론트 앤드와 백앤드로 나눌 수 있다 프론트앤드: 소스 언어에 의존하는 부분으로, 소스 프로그램을 분석하고, 중간 코드를 생성한다. 백엔드: 목적 기계에 의존하는 부분으로, 중간 코드를 특정 기계를 위한 목적 코드로 번역한다. 프론트앤드 프론트앤드는 언어에 의존하므로, 각 언어마다 하나씩 필요하다. 기계에 비하면 언어의 문법이 명확히 정의되어있기 때문에 프론트앤드는 잘 정립되어있는 부분이다. 프론트앤드의 기능에 대해 살펴보자면, 프론트앤드의 역할은 소스 프로그램을 읽어들이고, 어휘분석, 구문 분석을 통..
번역기 번역기란 하나의 프로그래밍 언어로 작성된 프로그램을 입력으로 받아 동등한 의미를 갖는 다른 프로그래밍 언어로 된 프로그램을 출력하는 시스템 프로그램을 말한다. 여기서 입력되는 프로그램을 소스 프로그램이라 하고, 출력되는 프로그램을 목적 프로그램(목적 언어로 작성된)이라 한다. 번역기의 종류 번역기는 입력과 출력 프로그램에 따라 여러 종류로 나뉘게 된다. Preprocessor 프리프로세서의 경우 #include같은 지시문이 있는 경우 이를 처리해 확장된 프로그램을 출력한다. 따라서 이 경우에는 소스와 목적 프로그램의 언어가 모두 고급 언어가 된다. 여기서 "확장"은 매크로 처리 기능, 조건부 컴파일 기능(Conditional Compile), 헤더파일이 포함된 파일 포함 기능(File includ..
우리는 혼자서 프로젝트를 통해 소프트웨어 개발을 할 수도 있지만, 사실상 대부분 팀 단위의 프로젝트를 수행한다. 팀 단위로 여러명의 개발자가 소프트웨어를 개발하게 되면, 혼자 프로젝트를 개발할 때 보다 더 많은 사항들을 고려하고, 계획하고, 관리해야한다. 이번 포스팅에서는 프로젝트의 계획에 대한 부분을 알아보도록 하자. Project Planning 프로젝트 계획은팀원들과 고객이 소통할 때와프로젝트의 진행상황을 평가하는데에 사용한다. 프로젝트의 계획에는 다음과 같은 작업이 포함된다. 작업을 여러 부분으로 나누어 프로젝트 팀 구성원에게 할당 발생할 수 있는 문제를 예상하고 해결방안을 준비 Planning stages 언제 project planning을 해야할까? 프로젝트의 계획은 초기에 한번만 세우고 끝..
소프트웨어 정의 프로그램, 프로그램과 관련된 문서들, 라이브러리, 지원 웹사이트와 프로그램을 유용하게 쓰는데에 필요한 환경설정 데이터를 모두 포함하여 소프트웨어라고 한다. 유형 소프트웨어 제품은 목적에 따라서 두가지 유형으로 분류하여 생각할 수 있다. 일반 제품(Generic product) 독립형 시스템. 어떤 고객이든 원하면 살 수 있도록 판매된다. 이때, 특정 분야에 특화괸 마켓을 위한 소프트웨어또한 포함된다. 맞춤식 제품(Customized porduct) 특정 고객을 위해서 고객에 맞추어 개발하는 시스템 좋은 소프트웨어 좋은 소프트웨어가 되기 위해서 소프트웨어는 어떤 요건을 만족해야할까? 유지보수성 소프트웨어는 고객의 변화하는 요구를 충족시켜야 한다 확실성과 보안성 소프트웨어의 신뢰성, 보안성과..
mingyung
'Computer Science' 카테고리의 글 목록 (2 Page)