Підсвічування синтаксису
Підсвічування синтаксису (іноді, підсвітка синтаксису) — виділення певним чином (зазвичай кольором), певних елементів тексту (лексем), для покращення сприйняття його вмісту. Зазвичай застосовується до кодів програм, та розмітки документів. Підсвічування синтаксису підтримується багатьма текстовими редакторами, та деякими сайтами, що публікують код.
Ідеї підсвічування синтаксису значною мірою збігаються з ідеями редакторів, керованих синтаксисом. Одним із перших таких редакторів для коду був редактор коду Вілфреда Гансена 1969 року — Емілі (англ. Emily).[1][2] Він надавав розширені незалежні від мови засоби завершення коду та, на відміну від сучасних редакторів із підсвічуванням синтаксису, фактично унеможливлював створення синтаксично неправильних програм.
У 1982 році Аніта Х. Клок і Ян Б. Чодак подали патент на першу відому систему підсвічування синтаксису[3], яка використовувалася в периферійному пристрої Intellivision's Entertainment Computer System (ECS), випущеному в 1983 році.[4] Він виділяв різні елементи програм BASIC і був реалізований, щоб полегшити початківцям, особливо дітям, початок написання коду.[5] Пізніше Live Parsing Editor (LEXX), написаний для операційної системи VM для комп'ютеризації Оксфордського словника англійської мови в 1985 році, був одним із перших, хто використовував підсвічування синтаксису кольором. Можливість аналізу в реальному часі дозволяла додавати до редактора надані користувачем аналізатори для тексту, програм, файлів даних тощо[6]. На мікрокомп'ютерах MacPascal 1.0 (10 жовтня 1985) розпізнавав синтаксис Паскаля під час його введення та використовував зміни шрифту (наприклад, напівжирний для ключових слів) для виділення синтаксису на монохромному компактному Macintosh і автоматично додавав відступи коду відповідно до його структури.[7]
Розмітка синтаксису зазвичай виконується лексичним аналізатором, який розбиваючи текст на окремі лексеми, визначає також їх тип. А вже залежно від типу лексеми вона відображається на екрані різним кольором.
Популярними інструментами для підсвічування синтаксису є:
- GeSHi написаний на PHP
- SyntaxHighlighter[8][9] (JavaScript)
- ↑ Hansen, Wilfred J. (1971). User engineering principles for interactive systems. Proceedings of the Fall Joint Computer Conference FJCC 39. AFIPS. с. 5623—532.
- ↑ Hansen, Wilfred. Emily - An Editor for Structured Text. Процитовано 17 червня 2013.
- ↑ Syntax error correction method and apparatus, 29 жовтня 1982, процитовано 12 квітня 2018
- ↑ Mattel Intellivision: Intellivision Computer Module Owner's Guide (1983)(Mattel)(US). 1983.
- ↑ Intellivision Classic Video Game System / Entertainment Computer System. www.intellivisionlives.com. Архів оригіналу за 17 липня 2018. Процитовано 12 квітня 2018.
- ↑ Cowlishaw, M. F. (1987). LEXX – A programmable structured editor (PDF). IBM Journal of Research and Development, Vol 31, No. 1, IBM Reprint order number G322-0151. IBM.
- ↑ Allen, Dan (10 жовтня 2011). A Trio of Historical Recollections. mpw-dev (Список розсилки). Архів оригіналу за 21 серпня 2017. Процитовано 12 September 2019.
{{cite mailing list}}
: Вказано більш, ніж один|accessdate=
та|access-date=
(довідка); Вказано більш, ніж один|archivedate=
та|archive-date=
(довідка); Вказано більш, ніж один|archiveurl=
та|archive-url=
(довідка) - ↑ Highlighting code with SyntaxHighlighter Javascript library. Архів оригіналу за 14 липня 2021. Процитовано 14 липня 2021.
- ↑ SyntaxHighlighter[недоступне посилання з липня 2019]
- Syntax Highlighter. Підсвічування синтаксису на JavaScript [Архівовано 15 липня 2021 у Wayback Machine.] (10 січня 2012 р.)
- Coding in color Evan Brooks [Архівовано 15 січня 2018 у Wayback Machine.] (Jan 24, 2014)(англ.)
- Semantic Highlighting Overview [Архівовано 1 червня 2021 у Wayback Machine.] (4 May 2020)(англ.)
- C++ IDE Evolution: From Syntax Highlighting to Semantic Highlighting [Архівовано 14 липня 2021 у Wayback Machine.] (January 8, 2009)(англ.)