WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
// комментарий
int main()
{
   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, and for; комментарии в начале также выделены особым образом для отличия от действующего кода.

См. также

  • Стиль отступов
  • Colorer — библиотека подсветки синтаксиса исходных текстов программ в текстовом редакторе, разработанный Игорем Русских.
  • Pygments[en]Python-библиотека подсветки синтаксиса
  • Scintilla — компонент редактирования (имеющий, в том числе, подсветку синтаксиса) с открытым исходным кодом для Microsoft Windows и Linux с GTK+, разработанный Нейлом Ходжсоном
  • SynEdit — компонент многострочного редактирования с открытым исходным кодом для Delphi, Kylix, C++ Builder; разработка больше не поддерживается.

Примечания

Ссылки

  • Code2HTML (англ.). — конвертер из исходных кодов в HTML с подсветкой. Проверено 22 ноября 2009. Архивировано 12 февраля 2012 года.
  • syntaxhighlighter (англ.). — подсветка синтаксиса кода на веб-странице. Проверено 22 ноября 2009. Архивировано 12 февраля 2012 года.
  • highlight.js. — автоматическая подсветка синтаксиса на веб-страницах с использованием JavaScript. Проверено 22 ноября 2009. Архивировано 12 февраля 2012 года.


Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии