본문 바로가기

컴퓨터과학[2-2]/[2-2]프로그래밍언어론4

프로그레밍언어론 중간시험 핵심자료 프로그레밍언어론 중간시험 핵심자료 프로그래밍 언어은 컴퓨터에게 프로그래머의 의사를 전달하는 방법이며 프로그래밍 하는 형식이기 도하다. 프로그래밍 언어론은 프로그래밍 언어의 공통점과 차이점, 그리고 프로그래밍 언어의 설계하는 규칙을 배움으로써 프로그래밍 언어에 대한 근본적인 이해를 돕는다. 프로그래밍 언어는 속성들의 특징적인 일부분만을 이용하여 작업이나 객체를을 표현하며, 추상화를 통해 표현된다. 프로그래밍 언어는 명령형 언어(절차언어), 함수형 언어(적용형 언어), 논리형 언어, 객체지향형 언어로 구분된다. 프로그래밍 언어는 형식적인 측면에 대한 언어인 구문론과 의미 해석적인 측면의 언어인 의미론의 양면적인 방법으로 정의된다. 프로그래밍 언어의 설계는 실행의 효율성, 프로그래밍 언어의 일반성과 획일성, .. 2015. 10. 6.
프로그래밍 언어론 심화학습 - 파스 트리(Parse tree) 프로그래밍 언어론 심화학습 - 파스 트리(Parse tree) 원시 프로그램의 문법 검사 과정에서 내부적으로 생성되는 트리 형태의 자료구조 문장 표현이 BNF에 의해 작성될 수 있는지 여부를 나타냄 대상을 root로 하고, 단말노드를 왼쪽에서 오른쪽 방향으로 한다. 파스트리의 모호성 동일 문장에 2개 이상의 서로 다른 파스트리가 발생하면 그 문장은 모호하다고 하는데, 모호성은 반드시 제거 되어야 한다. 모호한 법은 모호성을 개정하거나, 모호성 제거규칙을 사용해서 제거해주어야 한다. 연산자 우선순위(항이라고 하는 새로운 규칙을 만듦) -위 쪽에 쓰이는 것은 우선순위 낮은 것, 아래 쪽에 쓰이는 것은 우선순위가 높은 것. 연산자 결합 법칙(D = A + B + C : 순서 A + B 더함 + C 더함(좌 결.. 2015. 8. 22.
프로그래밍 언어론 심화학습 - BNF & EBNF & 구문도표 [식별자 정의] BNF & EBNF & 구문도표 [식별자 정의] BNF (Backus-Naur form) BNF는 프로그래밍 언어를 정의하기 위한 최초의 메타 언어였다. ALGOL 58 언어의 구문 기술을 위해 1959년에 John Backus에 의해 처음 도입되었으며, Peter Naur에 의해 강화되어 ALGOL 60을 정의하는데 사용되었다. BNF는 구문 요소를 나타내는 기호 , 둘 중 하나의 선택을 의미하는 기호 ∥, 좌변은 우변에 의해 정의됨을 의미하는 기호 ::= 등의 메타 기호들을 사용하여 규칙을 표현한다. BNF의 원형은 원래 "Backus normal form"이었으나, Peter Naur의 이름을 넣어 오늘날과 같이 바뀌었다. BNF 개발 배경 언어 자체에 관심을 가지고 있었던 학자들은 언어에 대.. 2015. 8. 22.
프로그래밍 언어론 핵심정리 프로그래밍 언어론 핵심정리 제1장 프로그래밍언어 소개 프로그래밍 언어란 - 컴퓨터에 프로그래머의 의사를 전달하는 방법 - 프로그램을 작성하는 형식 - 프로그래머가 컴퓨터를 어떻게 추상화 하는가에 영향을 미침 - 컴퓨터가 읽을 수 있고 사람이 읽을 수 있는 형식으로 계산을 서술하는 표기체계프로그램 이란 - 컴퓨터와 사람이 동시에 이해할 수 있는 형식으로 작성된 글1.1 추상화 - 자신의 속성들의 특징적인 일부만을 가지고 주어진 작업이나 객체들을 표현하고, 그들의 공통점을 추출하여 표현하는 방법 ① 자료 추상화 - 문자열, 수, 탐색트리와 같은 계산의 주체가 되는 자료의 특성을 추상화 ② 제어 추상화 - 알고리즘 추상화. 현재의 상황에 따라 실행순서의 수정을 위한 제어의 특성을 추상화 기본적 추상화: 가장 .. 2015. 6. 25.