구문 강조

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색
HTML 구문 강조

구문 강조(構文強調, 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>();
}

각주[편집]

  1. Hansen, Wilfred J. (1971). 〈User engineering principles for interactive systems〉. 《Proceedings of the Fall Joint Computer Conference FJCC 39》. AFIPS. 5623–532쪽. 
  2. Hansen, Wilfred. “Emily - An Editor for Structured Text”. 2013년 6월 17일에 확인함. 
  3. Shneiderman, Ben (1985). 〈4.1.1.2〉. H. Rex Hartson. 《Advances in human-computer interaction》 2. print.판. Norwood, N.J.: Ablex. 122쪽. ISBN 0893912441.