Введение

В проектировании языков программирования, стропинг — это метод явной маркировки последовательностей символов как обладающих специальным свойством, например, являющихся ключевым словом или переменной определённого типа, или областью хранения, и таким образом, находящихся в отдельном пространстве имён от обычных имён ("идентификаторов"), чтобы избежать конфликтов. Стропинг не используется в большинстве современных языков — вместо этого ключевые слова являются зарезервированными и не могут использоваться в качестве идентификаторов. Стропинг позволяет использовать одну и ту же последовательность символов как ключевое слово, так и идентификатор, и упрощает синтаксический анализ в этом случае — например, позволяя создать переменную с именем `if` без конфликта с ключевым словом `if`. Стропинг в основном связан с ALGOL и языками, основанными на нём, 1960-х годов. Хотя он иногда применяется и в современных языках, его легко спутать с другими похожими техниками, которые кажутся аналогичными.

История

Метод строппинга и термин "строппинг" возникли в процессе разработки ALGOL в 1960-х годах, где он использовался для представления типографских различий (полужирный шрифт и подчеркивание), встречающихся в языке публикации, которые нельзя было непосредственно представить в аппаратном языке – пишущая машинка могла иметь полужирные символы, но при кодировании на перфокартах полужирных символов не было. Термин "строппинг" возник в ALGOL 60, от слова "апостроф", поскольку некоторые реализации ALGOL 60 использовали апострофы вокруг текста для обозначения полужирного шрифта, а Scala, зарезервированное слово или неалфавитно-цифровое имя, может использоваться как идентификатор, заключая его в обратные кавычки. Есть и другие, менее значительные примеры. Например, Web IDL использует начальный подчерк для строппинга идентификаторов, которые в противном случае совпадали бы с зарезервированными словами: значение идентификатора лишается этого начального подчерка, что делает это строппингом, а не соглашением об именовании, как, например, самое первое упоминание строппинга в начале этой страницы, поскольку определение строппинга – это и есть цель этой страницы. Выделение новых слов курсивом при их первом появлении в тексте. Это часто используется в научной фантастике и фэнтези при введении вымышленных растений, продуктов питания, существ; в путевых заметках и исторических трудах при описании незнакомых иностранных слов; и так далее. Также используется специальный шрифт, возможно, связанный с рассматриваемым языком, например, готический шрифт для немецких слов. Использование другого языка, как правило, латинского или греческого, для обозначения технических терминов. Это похоже на использование зарезервированных слов, но обычно сочетается с курсивом для улучшения читаемости. Например: типичная биномиальная номенклатура или "латинские названия" растений и животных помогает читателю понять, что "Erithacus rubecula" – это специальное техническое название Erithacus rubecula, в отличие от "красногрудой европейской зарянки". Многие юридические термины, где короткая латинская фраза отсылает к обширному своду законов и прецедентов, такие как habeas corpus, sub judice, in loco parentis. Логические и математические термины, такие как QED, a priori, vice versa. В письменном японском языке, помимо иероглифов кандзи, используются два различных алфавита (точнее, слоговых письма) – хирагана и катакана, оба представляющие один и тот же набор звуков, для различения японских слов, написанных фонетически, и заимствованных иностранных слов соответственно; катакана также используется для выделения, подобно курсиву в английском языке.