구문 강조

구문 강조(構文強調, syntax highlighting)는 문자열(특히 소스 코드)을 형식의 틀에 따라 여러 가지 색과 글꼴로 다르게 보여 주는 문서 편집기의 기능이다. 이러한 기능은 프로그래밍 언어나 마크업 언어와 같은 구조화 언어로 프로그램을 짜기 쉽게 해 주며, 구문 오류와 구조가 눈에 더 잘 들어오게 만든다. 일부 편집기들은 또한 구문 강조 외에 다른 기능들을 포함하고 있는데, 이를테면 코드 폴딩과 맞춤법 검사기가 있다.
역사
[편집]문법 강조의 개념은 구조 편집기의 개념과 상당 부분 겹친다. 코드를 위한 최초의 편집기 가운데 하나는 Wilfred Hansen의 1969년 코드 편집기 에밀리(Emily)이다.[1][2] 고급 언어 독립 코드 완성 기능을 제공하였지만, 문법 강조 기능이 있는 현대의 편집기들과는 다르게 문법적으로 유효하지 않은 프로그램들을 작성하는 것은 불가능했다.
1985년 벤 슈나이더맨은 "의미를 제시하는 텍스트 문자열의 코드 규칙"을 제안하였다.[3]
문법 요소
[편집]예제
[편집]아래는 C 코드 부분을 비교한 것이다:
표준 렌더링 | 문법 강조 |
---|---|
/* Hello World */ #include <stdlib.h> #include <stdio.h> int main() { printf("Hello World\n"); return 0; } | /* Hello World */ #include <stdlib.h> #include <stdio.h> int main() { printf("Hello World\n"); return 0; } |
아래는 문법이 강조된 C++ 코드 중 일부를 발췌한 것이다:
// Create "window_count" Window objects: const auto window_count = int{10}; auto windows = std::array<std::shared_ptr<Window>, max_window_count>{}; for (auto i = int{0}; i < window_count; ++i) { windows[i] = std::make_shared<Window>(); }
같이 보기
[편집]각주
[편집]- ↑ Hansen, Wilfred J. (1971). 〈User engineering principles for interactive systems〉. 《Proceedings of the Fall Joint Computer Conference FJCC 39》. AFIPS. 5623–532쪽.
- ↑ Hansen, Wilfred. “Emily - An Editor for Structured Text”. 2013년 6월 17일에 확인함.
- ↑ Shneiderman, Ben (1985). 〈4.1.1.2〉. H. Rex Hartson. 《Advances in human-computer interaction》 2. print.판. Norwood, N.J.: Ablex. 122쪽. ISBN 0893912441.