Loading AI tools
Из Википедии, свободной энциклопедии
Подсве́тка си́нтаксиса — выделение синтаксических конструкций текста с использованием различных цветов, шрифтов и начертаний. Обычно применяется для облегчения чтения исходного текста компьютерных программ, улучшения визуального восприятия. Подсветка синтаксиса — важная функция текстовых редакторов, сред разработки, отладчиков и других инструментов разработки программного обеспечения. Подсветка синтаксиса также применяется при публикации исходных кодов в интернете и на бумажных носителях.
#include <stdio.h>
#define MAX 10
// комментарий
int main(void)
{
for (int i = 0; i < MAX; i++)
{
printf("%d\n", i);
}
return 0;
}
При подсветке синтаксиса в исходном тексте языков программирования выделяются:
Более продвинутые системы подсветки синтаксиса также выделяют:
Многие текстовые редакторы и среды разработки имеют также функцию подсветки парных скобок под курсором: при приближении текстового курсора к скобке выделяется как скобка, возле которой находится курсор, так и парная ей.
Подсветка синтаксиса кроме удобства чтения позволяет избегать также синтаксических ошибок: неправильного написания конструкций языка, незакрытых кавычек и т. д. Может присутствовать также подсветка заведомо некорректного кода: например, непарных скобок, или недопустимых символов вне строковых данных в кавычках.
Live Parsing Editor (LEXX или LPEX) на VM, написанный для оцифровки Оксфордского словаря в 1985 году, был одним из первых редакторов с подсветкой синтаксиса[1].
Ниже сравниваются сниппеты кода Си:
обычное отображение | с подсветкой синтаксиса |
---|---|
/* 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>();
}
В этом примере редактор распознаёт ключевые слова auto
, const
, int
и for
; комментарии в начале также выделены особым образом для отличия от действующего кода.
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.