• AI글쓰기 2.1 업데이트
  • AI글쓰기 2.1 업데이트
  • AI글쓰기 2.1 업데이트
  • AI글쓰기 2.1 업데이트

ebnf bnf 변환

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

상세정보

소개글

"ebnf bnf 변환"에 대한 내용입니다.

목차

1. 프로그래밍 언어 소개
1.1. 프로그래밍 패러다임과 프로그래밍 언어 패러다임
1.2. 프로그래밍 패러다임의 유형
1.3. 프로그래밍 언어의 발전과 특징
1.4. 주요 프로그래밍 언어의 특성

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

3. 프로그래밍 언어의 기능과 평가 기준
3.1. 프로그래밍 언어의 기본 기능
3.2. 프로그래밍 언어의 부가 기능
3.3. 프로그래밍 언어의 평가 기준

4. 프로그래밍 언어의 발전사
4.1. 1950년대 - FORTRAN
4.2. 1970년대 - C
4.3. 1990년대 이후 - Java, Python

5. 참고 문헌

본문내용

1. 프로그래밍 언어 소개
1.1. 프로그래밍 패러다임과 프로그래밍 언어 패러다임

프로그래밍 패러다임은 프로그램을 작성하는 전형적인 방식을 말하며, 프로그래밍 언어 패러다임은 특정 프로그래밍 패러다임을 지원하는 언어의 특성을 의미한다. 프로그래밍 패러다임과 프로그래밍 언어 패러다임은 밀접한 관계가 있지만 일대일로 대응하는 것은 아니다.

프로그래밍 패러다임은 컴퓨팅 환경의 변화에 따라 다양한 유형으로 발전해왔다. 초기에는 자원이 제한적이어서 효율적인 절차가 중요했기 때문에 명령형(imperative) 프로그래밍 패러다임이 주를 이루었다. 이후 복잡한 데이터 처리의 필요성이 증가하면서 절차형(procedural) 프로그래밍 패러다임이 등장했다. 그러나 메모리 관리의 어려움으로 함수형(functional) 프로그래밍 패러다임과 논리(logic) 프로그래밍 패러다임이 등장했다. 또한 객체지향(object-oriented) 프로그래밍 패러다임은 데이터와 처리 절차를 하나의 단위로 다룰 수 있게 해주었다.

한편 프로그래밍 언어 패러다임은 프로그래밍 패러다임과 연관되지만 반드시 일대일로 대응하지 않는다. 하나의 언어가 여러 프로그래밍 패러다임을 지원할 수 있기 때문이다. 예를 들어 C++, Java, Python 등은 명령형, 절차형, 함수형, 객체지향 패러다임을 모두 지원한다. 또한 특정 패러다임을 지원하는 언어에서도 다른 패러다임으로 프로그램을 작성할 수 있다. 이는 새로운 프로그래밍 패러다임의 등장이 기존 패러다임의 소멸을 의미하지 않음을 보여준다. 프로그래밍 언어도 새로운 프로그래밍 패러다임의 등장에 따라 변화, 발전하는 모습을 보인다.


1.2. 프로그래밍 패러다임의 유형

프로그래밍 패러다임의 유형은 다음과 같다.

첫째, 명령형(imperative) 프로그래밍 패러다임이다. 명령형 프로그래밍은 컴퓨터의 자원이 제한적이었던 초기에 주목받았다. 여기서는 데이터를 처리하기 위한 명령어의 순서를 효율적으로 작성하는 것이 중요했다. 변수와 할당문 등을 이용해 메모리의 내용을 조작하여 계산 과정을 수행하는 방식이다. 대표적인 언어로는 BASIC, C, 파스칼 등이 있다.

둘째, 절차형(procedural) 프로그래밍 패러다임이다. 절차형 프로그래밍은 명령형에서 발전한 형태로, 문제를 해결하기 위한 연산을 모듈화하여 관리하는 데 효과적이다. 대표적인 언어로는 C와 파스칼이 있다.

셋째, 함수형(functional) 프로그래밍 패러다임이다. 함수형 프로그래밍은 주어진 데이터를 값으로 간주하고 새로운 값을 생성하는 함수에 초점을 맞춘다. 따라서 메모리 관리의 부담을 덜어준다. 대표적인 언어로는 LISP, 하스켈, 액터 등이 있다.

넷째, 논리형(logic) 프로그래밍 패러다임이다. 논리형 프로그래밍은 계산 절차를 절차가 아닌 문제의 요구사항을 논리식으로 표현한다. 이 패러다임에서는 데이터 처리 과정보다는 문제의 요구사항을 선언적으로 명시하는 데 초점을 맞춘다. 대표적인 언어로는 Prolog가 있다.

다섯째, 객체지향(object-oriented) 프로그래밍 패러다임이다. 객체지향 프로그래밍은 데이터와 처리 절차를 하나의 단위로 다룰 수 있다는 점에서 특징적이다. 데이터와 관련 연산을 객체에 포함시켜 처리하며, 객체 간의 메시지 교환을 통해 계산을 진행한다. 대표적인 언어로는 C++, Java, Python, Ruby 등이 있다.

이처럼 프로그래밍 패러다임은 프로그래밍의 발전과 함께 다양한 유형으로 발전해왔다. 각 패러다임은 고유한 특성을 가지며, 프로그래밍 언어는 이러한 패러다임을 지원하는 경향을 보인다.


1.3. 프로그래밍 언어의 발전과 특징

프로그래밍 언어의 발전과 특징은 다음과 같다.

컴퓨터 기술의 발전과 더불어 프로그래밍 언어 또한 지속적으로 발전해왔다. 1945년 세계 최초의 디지털 컴퓨터 에니악이 등장한 이후, 초기 프로그래밍은 기계어나 어셈블리어와 같은 저급 언어를 사용하였다. 그러나 인간이 읽고 작성하기 쉬운 고급 언어의 필요성이 대두되면서, 1950년대 후반 최초의 고급 언어인 FORTRAN이 등장하게 되었다. FORTRAN은 주로 과학기술 계산 및 시뮬레이션 등의 용도로 개발되었으며, 1970년대까지 가장 중요한 프로그래밍 언어로 인식되었다.

1970년대에는 마이크로프로세서의 등장과 함께 컴퓨터가 점점 소형화되면서, 하드웨어와 운영체제가 크게 변화하게 되었다. 이에 따라 하드웨어 성능을 최대한 활용하면서도 이식성이 높은 프로그래밍 언어의 개발이 요구되었고, C언어가 1972년 Dennis Ritchie에 의해 개발되었다. C언어는 객체지향적이지는 않지만 시스템 프로그래밍, 게임, 임베디드 분야 등에서 널리 사용되는 대표적인 절차형 언어이다. 또한 이 시기에 Pascal, Smalltalk, SQL, Forth, Prolog, AWK 등 다양한 고급 언어가 개발되어 현재까지 큰 영향을 미치고 있다.

1990년대에는 GUI 기반의 데스크톱 환경과 인터넷의 보급으로 인해 프로그래밍 언어 개발 환경이 크게 변화하였다. 이에 따라 통합개발환경(IDE)을 갖춘 프로그래밍 언어와 이벤트 드리븐 방식이 등장하게 되었다. 대표적인 언어로는 Java와 Python을 들 수 있다.

Java는 1995년 Sun Microsystems에 의해 개발된 절차형, 객체지향형 컴파일러 언어로, "Write Once, Run Anywhere"라는 슬로건처럼 플랫폼 독립적인 강력한 이식성을 제공한다. 또한 서블릿과 JSP의 분리를 통해 유지보수성을 높였다는 특징이 있다.

Python은 199...


참고 자료

우균, 김진욱(2019), 프로그래밍언어론, 한국방송통신대학교출판문화원.
Robert W. Sebesta 외(2012). 프로그래밍 언어론 [10판]. PEARSON.
우균·김진욱(2019), 프로그래밍언어론, 출판문화원.
Robert W. Sebesta 외(2012). 프로그래밍 언어론 [10판]. PEARSON.
마스이 토시카츠(2018). 프로그래밍 언어도감. 영진닷컴.
https://atoz-develop.tistory.com/entry/%EA%B5%AC%EB%AC%B8%EB%A1%A0-BNF-EBNF-%EA%B5%AC%EB%AC%B8%EB%8F%84%ED%91%9C-%ED%91%9C%ED%98%84%EB%B2%95
http://ehpub.co.kr/tag/bnf-%ED%91%9C%EA%B8%B0%EB%B2%95/
http://elearning.kocw.net/KOCW/document/2014/deagucatholic/kimhangkon/3.pdf
https://booolean.tistory.com/295

주의사항

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

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

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