for 문 EBNF

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
>

상세정보

소개글

"for 문 EBNF"에 대한 내용입니다.

목차

1. 프로그래밍 언어의 기능과 평가 기준
1.1. 프로그래밍 언어의 기본 기능
1.1.1. 작성력
1.1.2. 가독성
1.1.3. 실행 가능성
1.2. 프로그래밍 언어의 부가 기능
1.2.1. 추상화
1.2.2. 모듈화
1.3. 프로그래밍 언어의 평가 기준
1.3.1. 직교성
1.3.2. 기타 평가 기준

2. 프로그래밍 언어의 구문 표현
2.1. BNF(Backus-Naur Form)와 EBNF(Extended Backus-Naur Form)
2.2. 구문 도표
2.3. BNF와 EBNF의 상호 변환

3. 프로그래밍 언어의 변수, 바인딩, 식 및 제어문
3.1. 변수와 바인딩
3.2. 식과 연산
3.3. 제어 구조
3.4. 선언문의 사용

4. 참고 문헌

본문내용

1. 프로그래밍 언어의 기능과 평가 기준
1.1. 프로그래밍 언어의 기본 기능
1.1.1. 작성력

작성력(writability)은 프로그래밍 언어의 기본 기능 중 하나로, 프로그래밍 과정에서 프로그래머가 코드를 작성하기 편리하고 수월한 정도를 나타낸다. 작성력은 프로그래밍 언어의 문법 구조, 키워드 및 식별자 명명 방식, 데이터 타입 지원, 연산자 및 제어구조 등 전반적인 언어 설계에 의해 결정된다.

언어의 작성력이 높다는 것은 프로그래밍 과정에서 프로그래머의 생산성과 편의성이 높다는 것을 의미한다. 예를 들어 C 언어는 포인터 연산, 동적 메모리 관리 등 프로그래밍의 기본적인 작업을 직접 다뤄야 하므로 작성력이 상대적으로 낮은 편이다. 반면 Python은 자동 메모리 관리, 리스트 및 딕셔너리 등의 고수준 자료구조 지원, 간단한 문법 등으로 인해 작성력이 매우 높다고 평가받는다.

높은 작성력은 프로그래밍의 생산성 향상, 유지보수의 용이성, 협업의 편의성 등 다양한 측면에서 장점으로 작용한다. 따라서 프로그래밍 언어 설계 시 작성력은 핵심적인 고려사항이 되며, 실제로 많은 현대 프로그래밍 언어들이 작성력 향상을 주요 목표로 삼고 있다.


1.1.2. 가독성

가독성(readability)은 프로그램을 쉽게 읽을 수 있도록 하는 프로그래밍 언어의 기본 기능이다. 자연어이든 프로그래밍 언어이든, 언어는 의사소통의 수단이라는 의미에서 상대가 쉽게 이해할 수 있도록 표현을 사용하는 것이 바람직하다. 특히 최근의 소프트웨어 생산은 협업을 통해 이루어지는 경우가 많은 만큼, 문법에 오류가 없으면서 동시에 읽기 쉬울 때 소프트웨어 개발에 더 효율적이라고 할 수 있다.

무엇보다 소프트웨어는 개발이라는 일회성 이벤트로 끝나지 않고, 그 수명 주기에 따라 지속적으로 유지보수가 필요하다. 따라서 가독성 있는 프로그래밍 언어로써 충분히 기능하지 못하면, 시간이 지날수록 개발자 본인도 그 프로그램을 이해하는 데 적지 않은 어려움이 있을 뿐 아니라, 개발 참여자들과의 커뮤니케이션에도 큰 장애요인이 될 수밖에 없다. 그리고 이러한 문제는 결과적으로 비용 상승이라는 경영상의 어려움으로 귀결될 것이다.

C언어처럼 많이 사용되는 Python으로 가독성의 예를 들어보자. Python은 Scope를 들여쓰기(indentation)로 구분한다. 파이썬 언어 개발자는 불필요한 내용은 문법에 포함시키지 않을수록 그만큼 코드가 깔끔해진다는 생각을 했을 것이다. 그런데 C나 Java에서는 괄호를 사용해 블록을 지정한다. 어떤 쪽이 더 가독성이 좋을까? 괄호를 사용해 Scope를 구분하는 것이 시각적으로 더 명확하게 인지되는 것처럼 보인다. 그러나 괄호를 사용하여 블록만 지정해놓고 내부 코드는 들여쓰기가 없다면, 오류는 발생하지 않겠지만 시각적으로 혼란스럽고 가독성은 떨어진다. 파이썬은 들여쓰기가 정확하지 않으면 실행이 되지 않고 오류가 발생하도록 설계되어 있다. 애초부터 가독성을 고려한 것이다.

파이썬은 개발 당시부터 가독성을 최고의 가치로 생각하고 만들어진 언어이다. 또한 많은 개발자들이 인정하듯 파이썬은 타 프로그래밍 언어보다 생산성이 높은 코딩이 가능하다. 단 몇 줄로도 복잡한 작업을 수행할 수 있다. 즉, 개발속도가 타 언어에 비해 탁월하다. 물론 속도가 느리다는 단점은 있지만, 가독성만으로도 그 단점은 상쇄될 수 있을 것이다.

파이썬의 가독성을 단적으로 보여주는 것이 리스트 컴프리헨션(list Comprehension)이다. 리스트는 C언어의 배열과 유사하다. 단, 리스트에는 모든 자료형이 포함될 수 있지만, C의 배열은 동일한 자료형의 원소만 포함된다. 파이썬의 컴프리헨션 문법은 집합(set)과 딕셔너리(dictionary) 자료형에도 사용될 수 있다. 예를 들어 0부터 9까지의 자연수를 담고 있는 리스트를 [x for x in range(10)]와 같이 1줄로 표현할 수 있다. 이처럼 복잡한 작업을 단순하게 표현함으로써 프로그램의 가독성을 높일 수 있다.

결과적으로 가독성은 프로그래밍 언어의 가장 중요한 기본 기능 중 하나이다. 프로그램을 쉽게 읽고 이해할 수 있도록 하는 가독성은 협업 개발에서 필수적이며, 유지보수의 용이성 증대, 개발 속도 향상 등 다양한 장점을 가져다 준다. 특히 최근 들어 가독성 향상에 초점을 맞춘 프로그래밍 언어의 등장으로 인해, 언어 설계 시 가독성이 더욱 중요한 고려 사항이 되고 있다.


1.1.3. 실행 가능성

실행 가능성(executability)은 프로그래밍 언어가 실제 컴퓨터에서 동작할 수 있도록 설계되어 있는지를 나타내는 기본 기능이다. 프로그래밍 언어는 단순한 기호의 나열이 아니라 컴퓨터 상에서 실행 가능한 명령어의 집합이어야 한다.

실행 가능성을 위해서는 프로그래밍 언어가 컴퓨터 하드웨어와 잘 연계되어야 한다. 즉, 프로그래밍 언어로 작성된 코드가 CPU의 인스트럭션 세트에 맞추어 효율적으로 실행될 수 있도록 설계되어야 한다. 이를 위해 프로그래밍 언어는 변수, 데이터형, 연산자 등의 구문을 명확히 정의하고, 제어구조와 같은 프로그램 흐름 제어 기능도 체계적으로 ...


참고 자료

우균·김진욱(2019), 프로그래밍언어론, 출판문화원.

주의사항

저작권 EasyAI로 생성된 자료입니다.
EasyAI 자료는 참고 자료로 활용하시고, 추가 검증을 권장 드립니다. 결과물 사용에 대한 책임은 사용자에게 있습니다.
AI자료의 경우 별도의 저작권이 없으므로 구매하신 회원님에게도 저작권이 없습니다.
다른 해피캠퍼스 판매 자료와 마찬가지로 개인적 용도로만 이용해 주셔야 하며, 수정 후 재판매 하시는 등의 상업적인 용도로는 활용 불가합니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우