Для чего используется точка с запятой

Правила русской орфографии и пунктуации (1956 г.)

Точка с запятой

Пунктуация

§ 130. Точка с запятой ставится между независимыми предложениями, объединяемыми в одно сложное предложение без помощи союзов, особенно если такие предложения значительно распространены и имеют внутри себя запятые (о запятой между независимыми предложениями, объединенными в одно сложное, см. §§ 137 и 138), например:

    Между тем чай был выпит; давно запряженные кони продрогли на снегу; месяц бледнел на западе и готов уж был погрузиться в черные свои тучи, висящие на дальних вершинах, как клочки разодранного занавеса.

§ 131. Точка с запятой ставится между независимыми предложениями, объединяемыми в одно сложное предложение и связанными между собой:

1. Союзами но, однако, все же, тем не менее и т. п., особенно если эти предложения значительно распространены или имеют внутри себя запятые (о запятой перед этими союзами см. §§ 137 и 138). например:

    У меня была только синяя краска; но, несмотря на это, я затеял нарисовать охоту.

Примечание. Перед союзом а точка с запятой ставится лишь в том случае, когда связываемые им предложения значительно распространены и имеют внутри себя запятые, например:

    Мне послышалось, что он заплакал; а надо вам сказать, что Азамат был преупрямый мальчишка, и ничем бывало, у него слез не выбьешь, даже когда он был и помоложе.

2. Союзами и и да (в значении «и») лишь в том случае, когда они соединяют два предложения, которые без них были бы разделены точкой. (В таких случаях предложения, начинающиеся союзами и, да, являются по характеру связи присоединительными.) Например:

    Он читал книгу, думая о том, что читал, останавливаясь, чтобы слушать Агафью Михайловну, которая без устали болтала; и вместе с тем разные картины хозяйства и будущей семейной жизни без связи представлялись его воображению.

§ 132. Точка с запятой ставится между распространенными однородными членами предложения, особенно если внутри хотя бы одного из них есть запятые, например:

    Во мраке смутно представлялись те же неясные предметы: в некотором отдалении черная стена, такие же движущиеся пятна; подле самого меня круп лошади, которая, помахивая хвостом, широко раздвигала задними ногами; cпина в белой черкеске, на которой покачивалась винтовка в черном чехле и виднелась белая головка пистолета в шитой кобуре; огонек папиросы, освещающий русые усы, бобровый воротник и руку в замшевой перчатке.

§ 133. Точка с запятой ставится между значительно распространенными придаточными предложениями, подчиненными одному и тому же главному, если между придаточными нет сочинительного союза, особенно когда внутри таких придаточных имеются в свою очередь придаточные предложения, например:

    Не потерплю, чтоб развратитель огнем и вздохов, и похвал младое сердце искушал; чтоб червь презренный, ядовитый точил лилеи стебелек; чтобы двухутренний цветок увял еще полураскрытый.

§ 134. Точка с запятой ставится между группами независимых предложений, а также между группами придаточных предложений, относящихся к одному главному, если необходимо указать границы между группами предложений в отличие от границ между отдельными предложениями, например:

    В саду было множество ворон, гнезда их покрывали макушки деревьев, они кружились около них и каркали; иногда особенно к вечеру, они вспархивали, целыми сотнями, шумя и поднимая других; иногда одна какая-нибудь перелетит наскоро с дерева на дерево и все затихнет.

§ 135. Точка с запятой ставится в конце рубрик перечисления, если рубрики эти не являются самостоятельными предложениями, но достаточно распространены, и особенно если внутри их уже есть какие-либо знаки препинания, например:

    Такой способ употребления мин заставил предъявить к ним требования:
    1) чтобы оторвавшаяся от якоря и плавающая на поверхности мина не могла повредить натолкнувшееся на нее судно;
    2) чтобы при постановке заграждения не было всплывших мин, могущих указать место заграждения, и такие мины тонули;
    3) увеличить безопасность постановки мин.

Источник

Значение словосочетания «точка с запятой»

Для чего используется точка с запятой. Смотреть фото Для чего используется точка с запятой. Смотреть картинку Для чего используется точка с запятой. Картинка про Для чего используется точка с запятой. Фото Для чего используется точка с запятой

Источник (печатная версия): Словарь русского языка: В 4-х т. / РАН, Ин-т лингвистич. исследований; Под ред. А. П. Евгеньевой. — 4-е изд., стер. — М.: Рус. яз.; Полиграфресурсы, 1999; (электронная версия): Фундаментальная электронная библиотека

Источник: «Толковый словарь русского языка» под редакцией Д. Н. Ушакова (1935-1940); (электронная версия): Фундаментальная электронная библиотека

точка с запятой

1. знак препинания, который ставится между независимыми предложениями, объединяемыми в одно сложное предложение без помощи союзов

Делаем Карту слов лучше вместе

Для чего используется точка с запятой. Смотреть фото Для чего используется точка с запятой. Смотреть картинку Для чего используется точка с запятой. Картинка про Для чего используется точка с запятой. Фото Для чего используется точка с запятойПривет! Меня зовут Лампобот, я компьютерная программа, которая помогает делать Карту слов. Я отлично умею считать, но пока плохо понимаю, как устроен ваш мир. Помоги мне разобраться!

Спасибо! Я стал чуточку лучше понимать мир эмоций.

Вопрос: перебой — это что-то нейтральное, положительное или отрицательное?

Ассоциации к словосочетанию «точка с запятой&raquo

Синонимы к словосочетанию «точка с запятой&raquo

Предложения со словосочетанием «точка с запятой&raquo

Цитаты из русской классики со словосочетанием «точка с запятой»

Сочетаемость слова «точка&raquo

Сочетаемость слова «запятая&raquo

Афоризмы русских писателей со словом «точка&raquo

Отправить комментарий

Дополнительно

Предложения со словосочетанием «точка с запятой&raquo

Между формулами, записанными друг за другом, можно ставить точку с запятой или запятую.

Номер выпуска серии записывают арабскими цифрами и, как правило, в той форме, в которой он дан в объекте описания. Ему предшествует знак точки с запятой.

Если не введена точка с запятой – признак конца команды, то при нажатии клавиши Enter утилита не отправляет команду на сервер, а предлагает продолжить ввод команды.

Источник

Зачем нужна точка с запятой и где её нужно ставить?

Грамотность на «Меле»

В школьных диктантах могут снизить оценку за то, что ученик не поставил точку с запятой там, где она была задумана автором. А есть ли вообще какие-то правила, по которым этот знак препинания ставится (или не ставится)? Отвечает Мария Чепиницкая, преподаватель и автор блога о русском языке в стихах и прозе.

Вопрос. Расскажите, пожалуйста, где правильно ставить точку с запятой. Моя мама уверена, что ее можно ставить где угодно, и считает, что Тургенев в «Записках охотника» так и делал. А я с ней не согласна, должно быть правило.

А правило есть, причём не такое уж и простое. Давайте попробуем разобраться.

Во-первых, точка с запятой ставится в конце рубрик перечисления, если эти рубрики не являются самостоятельными предложениями (другими словами, когда мы составляем план или перечень).

1) молодой картофель, выращенный у подножья горы Хурхар;

2) привезённый из Альп сыр;

3) лапшу быстрого приготовления.

Во-вторых, точка с запятой любит сложные предложения и ставится перед союзами НО, ОДНАКО, ТЕМ НЕ МЕНЕЕ и подобными им союзами при противопоставлении:

У меня была только синяя краска; но, несмотря на это, я затеял нарисовать охоту. (Л. Толстой)

А вот перед союзами И и ДА (в значении «и») точка с запятой может встать только в том случае, если на этом месте можно поставить точку:

Почти каждый вечер попозже они уезжали куда-нибудь за город, в Ореанду или на водопад; и прогулка удавалась, впечатления неизменно всякий раз были прекрасны, величавы. (А. П. Чехов)

Если же в сложном предложении есть придаточные части, то точка с запятой может поселиться в таком предложении в двух случаях:

1) между придаточными нет сочинительных союзов, а сами придаточные имеют свои придаточные;

2) между группами независимых придаточных.

Правда, зачем вам нужны такие большие предложения (если вы, конечно, не писатель):

И, в-третьих, точка с запятой очень дружна с однородными членами предложения, особенно если внутри хотя бы одного из них есть запятые:

Здесь были люди из города и из станиц и хуторов, задержанные по подозрению в том, что они советские работники, партизаны, коммунисты, комсомольцы; люди, поступком или словом оскорбившие немецкий мундир; люди, скрывавшие свое еврейское происхождение; люди, задержанные за то, что они без документов, и просто за то, что они люди. (А. А. Фадеев)

Источник

Всё, что надо знать о точке с запятой

Автовставка точек с запятой («;») — одна из наиболее спорных особенностей яваскрипта, вокруг которой скопилось много непонимания.

Некоторые программисты ставят «;» в конце каждого оператора, некоторые — только там, где строго необходимо. Большинство же где-то посередине, хотя есть и такие, которые добавляют лишние «;» из стилистических соображений.

Даже если вы всегда ставите «;» в конце каждого оператора, некоторые конструкции парсятся неочевидным образом. Вне зависимости от ваших предпочтений касательно «;», правила такого парсинга надо знать, чтобы использовать язык профессионально. Запомнив несколько простых правил, приведённых ниже, вы поймёте, как будет парситься любая программа, и станете экспертом в автовставке «;» в яваскрипте.

Где допустимы ТЗ

В формальной грамматике, данной в спецификации ECMAscript, «;» имеются в конце каждого оператора, где они могут быть. Вот оператор do-while:

do Statement while ( Expression );

ТЗ также возникают в грамматике на конце операторов var, операторов-выражений (наподобие «4+4;» или «f();»), операторов continue, return, break, throw и операторов отладчика.

Пустой оператор это одна «;», и является корректным оператором в яваскрипте. По этой причине «;;;» является корректной программой, оно парсится как три пустых оператора, и выполняет ничего три раза.

Иногда пустые операторы полезные, хотя бы синтаксически. Например, для бесконечного цикла можно написать «while(1);», точка с запятой парсится как пустой оператор, делая оператор while синтаксически валидным. Без ТЗ оператор while был бы неполон, поскольку после условия цикла необходим оператор.

Наконец, «;» используются в циклах в форме «for ( Выражение; Выражение; Выражение ) Оператор», и разумеется, могут использоваться в строчных и регексповых литералах.

Где точку с запятой можно пропустить

В формальной грамматике из спецификаций ECMAscript «;» упомянуты, как описано выше. Однако спецификация также даёт правила, описывающие, как реальный парсинг отличается от формальной грамматики. Правила описаны через воображаемые «;», вставляемые во входной поток, но это всего лишь спецификационная модель, на практике парсерам не нужно генерировать псевдо-«;», а можно воспринимать «;» как опциональные в определённых местах грамматике (см., например, грамматику парсинга в ECMAscript, в особенности правила Statement, EOS, EOSnoLB, и SnoLB). Везде, где спецификация говорит «вставляется »;»», имеется в виду, что текущий оператор заканчивается.

Правила автовставки ТЗ описаны в разделе 7.9 ECMA-262 [pdf].

Раздел даёт три правила и два исключения из них.

Когда программа встречает токен, недопустимый грамматикой, вставляется «;», если (а) в этом месте присутствует перенос строки, или (б) недопустимый токен является закрывающей фигурной скобкой. При достижении конце файла и невозможности иной интерпретации, вставляется «;». При появлении «ограниченного порождения» [restricted production], содержащего терминатор строки в месте, где грамматика говорит «[no LineTerminator here]», вставляется «;».

Иными словами, эти правила говорят, что оператор можно оканчивать без «;» (а) перед закрывающей фигурной скобкой, (б) в конце программы, (в) если следующий токен не может быть отпарсен иначе, и, кроме того, есть некоторые места в грамматике, где перенос строки завершает оператор безусловно. Во что это выливается на практике, обсуждается ниже.

Исключения: «;» никогда не вставляется в заголовок цикла вида «for ( Выражение; Выражение; Выражение ) Оператор», и «;» никогда не вставляется, если в результате получается пустой оператор.

Что это всё для нас означает?

Прежде всего, «;» опциональна только на конце строки, перед закрывающей фигурной скобкой, и в конце программы. Кром того, «;» не предполагается на конце строки, если первый токен следующей строки может быть отпарсен как часть предыдущего оператора.

«42; «hello!»» пример валидной программы, равно как и «42\n»hello!»» (где «\n» изображает перенос строки) но «42 «hello!»» уже нет, так как перенос строки вызывает автовставку «;», а пробел нет. «if(x)» также валидно. Здесь «y()» есть оператор-выражение, который может оканчиватся «;», но поскольку следующий токен это закрывающая фигурная скобка, «;» опциональна, несмотря на отсутствие переноса строки.

Оба исключения, для циклов и пустого оператора, можно проиллюстрировать вместе:

Цикл последовательно вызывает следующий родительский узел, пока не не найдётся узел без родителя. Всё это происходит в заголовке цикла, так что для тела цикла ничего не осталось. Однако синтаксис цикла требует оператор, и мы вставляем пустой оператор. Несмотря на то, что все три «;» в этом примере на концах строк, все три необходимы, так как «;» не вставляется в заголовках цикла или для создания пустого оператора.

Ограниченное порождение

В ограниченных порождениях перенос строки не может находится в определённых местах, потому что если в этих местах разбить строку, программа не отпарсится так же, но может отпарсится иначе.

Если getc() возвращает символ из входного потока, программа читает его, проверяет, не символ ли выхода это, и если да, передаёт управление за цикл. Помеченный оператор break нужен, чтобы вырваться за внешний цикл, а не только за внутренний. Такая же программа, различающаяюся лишь переносом строки, не даст тот же результат:

В этом случе токен charloop — не часть оператора break. Так как оператор break ограничен, перенос строки в этой позиции завершает оператор. Токен charloop парсится просто как переменная charloop, но управление это место так и не получит, а оператор break будет выходить из внутреннего цикла, а не из внешнего, как задумано.

Примеры остальных четырёх ограниченных порождений:

Это выдаст ошибку, и не отпарсит как «i++». Терминатор не может отделять постфиксный оператор инкремента или декремента, так что «++» или «—» в начале строки никогда не отпарсится как часть предыдущей строки.

А это не ошибка, отпарсится как «i; ++j». Префисные инкремент и декремент не являются ограниченным порождением, поэтому перенос строки может встретиться между «++» или «—» и модифицируемым ими выражением.

Это отпарсится как пустой оператор return, вслед за которым идёт оператор-выражение, до которого управление никогда не дойдёт. А вот это отпарсится так, как задумано:

Отметьте, что оператор return МОЖЕТ содержать переносы внутри выражения, только лишь не между токеном return и началом выражения. При намеренном пропуске «;», ограниченное порождение оператора return удобно, так как позволяет написать пустой return без того, чтобы случайно вернуть выражение со следующей строки:

Операторы continue и throw похожи на break и return:

Отступы не играют роли для парсинга программ на ECMAscript, а наличие или отсутстсвие переносов строки играет. Тем самым, любой процессор исходного текста на яваскрипте может вырезать начальные пробелы (кроме строковых констант!) без влияния на семантику программы, но переносы строк нельзя произвольно вырезать или заменять пробелами или точками с запятой. Минификатор, меняющей семантику валидных программ есть плохой, негодный минификатор, и единственный способ это написать полный и корректный парсер.

Переносы строк после return, break, continue и перед ++ и — влияют на парсинг. Поскольку ограничены только эти порождения, то пробелы и переносы строк могут быть свободно использованы в любом другом месте для улучшения читабельности программы. В частности, логические, арифметические, операторы строчной конкатенации, тройной (либо условный) оператор, доступ к члену через точку или скобки, вызовы функций, циклы while, for, операторы switсh, и остальные контрольные структуры могут быть записаны с разрывом строк где угодно.

Практический совет для программистов ECMAScript: постфиксные операторы «++» и «—» должны быть на одной строке со своим операндом. Выражение в операторах return или throw должно начинаться на одной строке с токеном return или throw. Идентификатор в операторе break или continue должен быть на одной строке с токеном break или continue.

Наиболее частая ошибка программиста при ограниченных порождениях — ставить возвращаемое значение на строку после токена return, особенно если возвращается большой объект или литерал массива, или многострочная константа. Ошибки с постфиксными операторами, и операторами break, continue, throw на практике редки, в силу того, что такое разбиение строки выглядит неестественным для большинства программистов.

Последняя тонкость автовставки «;» вытекает из первого правила, требующего, чтобы программа содержала недопустимый токен для вставки «;». Если вы пропускаете опциональные «;», помните, что есть и неопциональные, которые пропускать нельзя. Это правило позволяет растягивать операторы на несколько строк:

Правило касается лишь первого токена в строке. Если этот токен может отпарсится как часть оператора, то оператор продолжается (даже если парсинг не удастся дальше). Если же первый токен не может продолжить оператор, начинается следующий (в этом месте спецификация говорит «вставляется »;»»).

Потенциал для ошибок возникает, когда в паре операторов А и Б оба по отдельности валидны, но первый токен Б может также быть принят как продолжение А. В таких случаях, при остутствии «;», парсер не разберёт Б как отдельный оператор, и либо выдаст ошибку, либо отпарсит программу неожиданным образом. Таким образом, если «;» пропускаются, программисту нужно следить за любыми операторами А и Б, разделёнными переносом строки, не начинается ли Б с токена, который можно пристроить к концу А.

Большинство операторов в яваскрипте начинается идентификатором, а большинство остальных — ключевым словом наподобие «var», «function», «if». Для любого такого оператора Б, начинающего с идентификатора или ключевого слова, равно как и для любой строки, начинающейся со строковой константы, валидного оператора А не существует (доказательство сего из грамматики языка оставлено как упражнение для читателя).

К сожалению, есть пять токенов, которые могут как начинать оператор, так и продолжать уже завершённый. Это «(«, «[«, «/», «+» и «-«. На практике проблемы вызывают первые два.

Это значит, что не всегда перенос строки может заменить «;» между операторами.

Спецификация даёт пример:

не преобразуется автовставкой «;», так как выражение в скобках может быть отпарсено как аргумент вызова функции:

Спецификация предлагает, «когда оператор присваивания должен начинаться левой скобкой, неплохо явно поставить точку с запятой на предыдущей строке». Более строгой альтернативой является практика постановки ТЗ в начале строке, непосредственно перед токеном, рискующим внести двусмысленность:

Операторы, начинающиеся круглой или квадратной скобкой, нечасты, но встречаются.

Примеры с квадратной скобкой более часты, так как «функциональные» операции наподобие map, filter, forEach более часты при массивах. Часто удобно записать массивный литерал с forEach, нужным для своих побочных эффектов:

Если же массивные литералы используются в присваивании, или передаются функции, они не стоят в начале оператора, поэтому начальная откывающая квадратная скобка нечаста, но встречается.

Последний проблемный токен это слеш, и он весьма неинтуитивен. Взгляните:

В строчках 1-3 мы заводим переменные, а на четвёртой мы вроде как пишем регекспный литерал «/[a-z]/g», который глобально находит a-z, а потом мы вызываем этот регексп со строкой методом exec. Так как возвращаемое значение exec() не используется, код не особо полезен, но мы бы ожидали, что он хотя бы скомпилируется. Однако же, слеш не только начинает регексп, но и является оператором деления. Это означает, что начальный слеш на строке 4 будет отпарсен как прдолжение оператора присваивания на предыдущей строке. Эти строки отпарсятся как «i равно 0 делить на [a-z] делить на g.exec(s)».

На практике эта проблема почти никогда не возникает, так как причин начинать оператор регекспом немного. В примере выше, значение вызова exec() обычно бы передавалось функции или присваивалось переменной, в любом из случаев строка бы не начиналась слешем. Возможное исключение это, опять же, метод forEach, который можно с пользой использовать [оригинал: usefully used] на значении, возвращённом вызовом exec().

Операторы «+» и «-» могут быть использованы как унарные, для преобразования значения к типу Number, и для реверсии знака в случае «-«. При использовании в начале строки при пропущенных «;» они могут быть восприняты как соответствующие бинарные операторы, и продолжение предыдущего оператора. Но и это редко составляет проблему, так как начальный унарный оператор встречается ещё реже, чем регексп (и он, к тому же, не выглядит завершённо). Как и с регекспами, если бы программист хотел привести значение к числу, он бы это значение как-то использовал, присвоил бы переменной, или передал функции, и ни в каком из этих случаев унарный оператор не был бы в начале:

Во всех таких случаях, если вы пропускаете «;», безопасной практикой является начинать строки со скобкой как раз точкой с запятой. Тот же совет для маловероятных случаев операторов «+», «-«, или слеша. Таким образом, даже если ТЗ не используются везде, строка будет защищена от неверного парсинга вне зависимости от того, как может измениться предыдущая строка.

Заблуждения

Многие начинающие программисты на яваскрипте получают советы ставить «;» везде, и полагают, что если они не используют правила автовставки «;», это свойство языка можно игнорировать. Это не так, из-за правил ограниченного порождения, приведённых выше, в особенности оператора return. А когда они знакомятся с ограниченным порождением, они начинаются боятся переносов строк, и избегают из даже когда они улучшают читабельность. Лучше всего освоить правила автовставки «;», чтобы мочь читать любой код, и мочь писать код наиболее ясным образом.

Ещё одно заблуждение гласит, что баги в броузерных движках яваскрипта означают, что ставить точки с запятой везде надёжнее, и что это повышает совместимость. Это просто не так. Все существующие броузеры реализуют спецификацию корректно в отношении автовставки «;», и любые баги, которые могли существовать, давно ушли во мрак ранней истории веба. Беспокоиться о бразуерной совместимости нет причин: все броузеры имплементируют эти правила так, так изложено выше.

Заключение

Ставить ли точки с запятой? Дело ваше. Просто выбор должен делаться на основании информации, а не туманных страхов по поводу неведомых синтаксических ловушек либо несуществующих багов броузеров. Если вы запомните эти правила, вы вооружены для верного выбора, и будет легко читать код на яваскрипте.

Если вы решили не ставить «;», советую вам ставить их перед открывающими скобками в операторах, которые ими начинаются, и в операторах, которые начинаются с «/», «+», «-«, если вам доведётся такой оператор написать.

Вне зависимости от точек с запятой, помните правила ограниченного порождения (return, break, continue, throw, и постфиксные операторы инкремента и декремента), и можете разбивать строки в любых других местах для удобства и читаемости кода.

Источник

Точка с запятой

То́чка с запято́й (;) — отделительный непарный знак препинания. Точка с запятой впервые введена итальянским печатником Альдом Мануцием (итал. Aldo Pio Manuzio ; 1449/1450—1515), использовавшим её для разделения противоположных слов и независимых частей сложносочинённых предложений. Шекспир уже использовал точку с запятой в своих сонетах. В русских текстах запятая и точка с запятой появились в конце XV в.

Содержание

Естественные языки

В русском языке точка с запятой ставится

В греческом языке, а также (под влиянием греческого) в церковнославянском языке точка с запятой играет роль вопросительного знака; в Юникоде для этого существует отдельный знак (код &#894), но тем не менее чаще на компьютерах используется обычная точка с запятой (код &#59), являющаяся частью ASCII.

Пример употребления точки с запятой в роли вопросительного знака в церковнославянском тексте (Быт., 25:32):

«Рече же Исав: се, аз иду умрети, и вскую ми первенство сие;» — «Исав сказал: вот, я умираю, что мне в этом первородстве?»

Во французской типографике точка с запятой, как и многие другие знаки препинания, отбивается от предыдущего символа коротким неразрывным пробелом. При компьютерном наборе он часто заменяется обычным пробелом.

Компьютеры

В большинстве языков программирования точка с запятой используется для разделения инструкций. Точка с запятой, как символ завершения оператора, появляется впервые в Алголе-58.

В языках ассемблера и некоторых текстовых форматах (например, в ini-файлах) точка с запятой обозначает начало комментария в строке.

В электронных таблицах точка с запятой применяется вместо запятой в языках, в которых запятая применяется как десятичный разделитель (в том числе в русском). Может выступать разделителем в представлении табличных данных в текстовом формате CSV.

Математика

В дифференциальной геометрии точка с запятой, поставленная перед индексом, означает ковариантную производную функции по координате, обозначенной данным индексом (запятая же означает частную производную). Например:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *