Подсветка синтаксиса
#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 году, был одним из первых редакторов с подсветкой синтаксиса.
Примеры
Ниже сравниваются сниппеты кода Си:
| обычное отображение | с подсветкой синтаксиса |
|---|---|
/* 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; комментарии в начале также выделены особым образом для отличия от действующего кода.
См. также
- Стиль отступов
- Colorer — библиотека подсветки синтаксиса исходных текстов программ в текстовом редакторе, разработанный Игорем Русских.
- [англ.] — Python-библиотека подсветки синтаксиса
- Scintilla — компонент редактирования (имеющий, в том числе, подсветку синтаксиса) с открытым исходным кодом для Microsoft Windows и Linux с GTK+, разработанный Нейлом Ходжсоном
- SynEdit — компонент многострочного редактирования с открытым исходным кодом для Delphi, Kylix, C++ Builder; разработка больше не поддерживается.
Примечания
- LEXX — A programmable structured editor. Дата обращения: 30 января 2008. Архивировано 25 марта 2009 года.
Ссылки
- Code2HTML (англ.). — конвертер из исходных кодов в HTML с подсветкой. Дата обращения: 22 ноября 2009. Архивировано 12 февраля 2012 года.
- syntaxhighlighter (англ.). — подсветка синтаксиса кода на веб-странице. Дата обращения: 22 ноября 2009. Архивировано из оригинала 12 февраля 2012 года.
- highlight.js. — автоматическая подсветка синтаксиса на веб-страницах с использованием JavaScript. Дата обращения: 22 ноября 2009. Архивировано 12 февраля 2012 года.
- Особенности подсветки синтаксиса для Веб. — Особенности подсветки синтаксиса для Веб. Дата обращения: 1 декабря 2010. Архивировано из оригинала 12 февраля 2012 года.
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Подсветка синтаксиса, Что такое Подсветка синтаксиса? Что означает Подсветка синтаксиса?
O podsvetke sintaksisa v Vikipedii sm Vikipediya Kak pravit stati Podsvetka sintaksisa include lt stdio h gt define MAX 10 kommentarij int main void for int i 0 i lt MAX i printf d n i return 0 Kod na Si s podsvetkoj sintaksisa Podsve tka si ntaksisa vydelenie sintaksicheskih konstrukcij teksta s ispolzovaniem razlichnyh cvetov shriftov i nachertanij Obychno primenyaetsya dlya oblegcheniya chteniya ishodnogo teksta kompyuternyh programm uluchsheniya vizualnogo vospriyatiya Podsvetka sintaksisa vazhnaya funkciya tekstovyh redaktorov sred razrabotki otladchikov i drugih instrumentov razrabotki programmnogo obespecheniya Podsvetka sintaksisa takzhe primenyaetsya pri publikacii ishodnyh kodov v internete i na bumazhnyh nositelyah PrincipPri podsvetke sintaksisa v ishodnom tekste yazykov programmirovaniya vydelyayutsya konstrukcii yazyka kommentarii chislovye i strokovye dannye Bolee prodvinutye sistemy podsvetki sintaksisa takzhe vydelyayut peremennye skobki standartnye funkcii yazyka Mnogie tekstovye redaktory i sredy razrabotki imeyut takzhe funkciyu podsvetki parnyh skobok pod kursorom pri priblizhenii tekstovogo kursora k skobke vydelyaetsya kak skobka vozle kotoroj nahoditsya kursor tak i parnaya ej Podsvetka sintaksisa krome udobstva chteniya pozvolyaet izbegat takzhe sintaksicheskih oshibok nepravilnogo napisaniya konstrukcij yazyka nezakrytyh kavychek i t d Mozhet prisutstvovat takzhe podsvetka zavedomo nekorrektnogo koda naprimer neparnyh skobok ili nedopustimyh simvolov vne strokovyh dannyh v kavychkah IstoriyaLive Parsing Editor LEXX ili LPEX na VM napisannyj dlya ocifrovki Oksfordskogo slovarya v 1985 godu byl odnim iz pervyh redaktorov s podsvetkoj sintaksisa PrimeryNizhe sravnivayutsya snippety koda Si obychnoe otobrazhenie s podsvetkoj sintaksisa Hello World include lt stdlib h gt include lt stdio h gt int main printf Hello World n return 0 Hello World include lt stdlib h gt include lt stdio h gt int main printf Hello World n return 0 A vot drugoj primer sintaksicheskoj podsvetki uzhe v kode C Create window count Window objects const auto window count int 10 auto windows std array lt std shared ptr lt Window gt max window count gt for auto i int 0 i lt window count i windows i std make shared lt Window gt V etom primere redaktor raspoznayot klyuchevye slova auto const int i for kommentarii v nachale takzhe vydeleny osobym obrazom dlya otlichiya ot dejstvuyushego koda Sm takzheStil otstupov Colorer biblioteka podsvetki sintaksisa ishodnyh tekstov programm v tekstovom redaktore razrabotannyj Igorem Russkih angl Python biblioteka podsvetki sintaksisa Scintilla komponent redaktirovaniya imeyushij v tom chisle podsvetku sintaksisa s otkrytym ishodnym kodom dlya Microsoft Windows i Linux s GTK razrabotannyj Nejlom Hodzhsonom SynEdit komponent mnogostrochnogo redaktirovaniya s otkrytym ishodnym kodom dlya Delphi Kylix C Builder razrabotka bolshe ne podderzhivaetsya PrimechaniyaLEXX A programmable structured editor neopr Data obrasheniya 30 yanvarya 2008 Arhivirovano 25 marta 2009 goda SsylkiCode2HTML angl konverter iz ishodnyh kodov v HTML s podsvetkoj Data obrasheniya 22 noyabrya 2009 Arhivirovano 12 fevralya 2012 goda syntaxhighlighter angl podsvetka sintaksisa koda na veb stranice Data obrasheniya 22 noyabrya 2009 Arhivirovano iz originala 12 fevralya 2012 goda highlight js neopr avtomaticheskaya podsvetka sintaksisa na veb stranicah s ispolzovaniem JavaScript Data obrasheniya 22 noyabrya 2009 Arhivirovano 12 fevralya 2012 goda Osobennosti podsvetki sintaksisa dlya Veb neopr Osobennosti podsvetki sintaksisa dlya Veb Data obrasheniya 1 dekabrya 2010 Arhivirovano iz originala 12 fevralya 2012 goda
