프로그래밍언어론: 3개의 글
BNF 표현법 BNF(Backus-Naur Form)는 Algol의 구문을 정의하기 위해 배커스(Backus)와 나우어(Naur)가 사용한 표현법이다. BNF 기호 메타 기호 BNF는 세 가지 메타 기호를 사용한다. 메타 기호 의미 ::= 정의 | 택일(OR) 비단말 기호 - BNF에서 규칙은 메타 기호 ::=를 이용하여 표현한다. - ::=를 기준으로 왼쪽을 오른쪽으로 정의한다. - ::=의 왼쪽에는 하나의 비단말 기호가, 오른쪽에는 기호들을 활용하여 정의하는 내용이 나와야 한다. 단말/비단말 기호 기호 의미 예 단말 기호 메타 기호 로 묶인 기호 , , , ... 비단말 기호 비단말 기호 및 메타 기호가 아닌 기호 A, B, a, b, 0, 1, if, then, +, -, ... BNF의 예 ::=..
프로그래밍 언어의 요구사항 소프트웨어 개발 및 유지보수 측면에서 프로그래밍 언어는 어떤 요구사항을 만족해야 할까? 먼저 프로그래밍 언어는 프로그래머가 자신의 아이디어를 쉽게 표현할 수 있게 해야한다. 또한 작성된 프로그램은 쉽게 유지보수 할 수 있어야 하며, 컴퓨터에서 빠르게 실행될 수 있어야 한다. (1) 표현 풍부성(expressiveness): 프로그래머의 아이디어를 쉽게 표현할 수 있다. (2) 유지 보수성(maintainability): 작성된 프로그램은 쉽게 유지보수할 수 있다. (3) 실행 가능성(executability): 작성된 프로그램이 빠르게 실행될 수 있다. 프로그래밍 언어의 설계 원칙 그리고 이러한 기능과 요구사항을 만족하기 위해 고려해야하는 설계 원칙 중 공통적으로 거론되는 것은..
프로그래밍 언어의 대표적인 평가 기준으로 다음의 9가지를 꼽을 수 있다. 평가 기준 의미 작성력 프로그램 수식이나 문장, 기능을 쉽게 표현할 수 있는 특성 가독성 작성된 프로그램을 보고 쉽게 이해할 수 있도록 하는 특성 신뢰성 작성된 프로그램이 오류에 빠지는 가능성을 줄이는 특성 직교성 언어 기능이 서로 간섭하지 않고 자유롭게 조합될 수 있는 특성 일관성 유사한 기능을 같은 형태로 나타낼 수 있는 특성 확장성 사용자가 원하는 새로운 기능을 추가할 수 있는 특성 효율성 작성된 프로그램이 효율적으로 수행될 수 있도록 하는 특성 유연성 프로그래머가 표현하고 싶은 내용을 유연하게 수용하는 특성 이식성 프로그램을 다른 실행 환경으로 이전할 수 있는 특성 작성력 프로그램 수식이나 문장, 기능을 쉽게 표현할 수 있는..