Синтаксис

Оригинальное название: syntax

Коротко

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

Что такое «Синтаксис»

Как у русского языка есть грамматика, так у языка программирования есть синтаксис. Компилятор или интерпретатор сначала разбирает текст программы по этим правилам и строит из него структуру. Если правило нарушено, разбор останавливается, и код не выполняется вообще — ни одной строки.

Синтаксис отвечает только за форму записи. Он не проверяет, имеет ли код смысл. Строка $total = $price - $discount; синтаксически правильна, даже если по задаче скидку надо было не вычитать, а умножать.

Три вида ошибок

  • Синтаксическая — нарушена форма: пропущена скобка или точка с запятой. Обнаруживается до запуска.
  • Ошибка выполнения — форма верная, но при работе что-то пошло не так: вызов несуществующей функции, деление на ноль.
  • Логическая ошибка — программа работает без сбоев, но делает не то, что нужно.

Пример: проверка синтаксиса PHP перед выкладкой

Одна пропущенная точка с запятой в functions.php темы WordPress выводит вместо сайта сообщение о критической ошибке. Проверить файл до загрузки на сервер можно встроенной командой:

$ php -l functions.php
PHP Parse error:  syntax error, unexpected token "}" in functions.php on line 42

$ php -l functions.php
No syntax errors detected in functions.php

Номер строки в сообщении указывает, где разбор споткнулся. Сама ошибка часто находится строкой-двумя выше: например, незакрытая кавычка. Что делать, если сайт уже упал, разобрано в статье о критической ошибке WordPress.

Синтаксический сахар

Так называют конструкции, которые не добавляют языку новых возможностей, а позволяют записать привычное короче. Тернарный оператор заменяет короткий if-else, оператор ?? в PHP — проверку на null, стрелочные функции в JavaScript — объявление функции. Сахар удобен, но при злоупотреблении код становится плотным и трудночитаемым. Поэтому в командах договариваются о стиле, а редакторы с линтерами подсвечивают нарушения ещё до сохранения файла.

Обновлено:

Все термины раздела «Backend»

Что будем искать? Например,Продвижение