구문 강조(構文強調, 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>();
}
같이 보기
각주
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.