Синтаксис в информатике — это комплекс правил, которые описывают символьные комбинации, являющиеся правильно оформленным программным приложением или его частью.
Введение
Языки программирования предназначены для написания программ по строго формализованным правилам конкретного языка. Язык программирования описывается правилами:
- Синтаксиса.
- Семантики.
Синтаксис, в принципе, наиболее лёгкая составляющая реализации алгоритма на языке программирования. То есть на грамматическом уровне выдерживаются правильные символьные чередования, или, по-другому, лексемы. Программа будет верно составленной с точки зрения синтаксиса, если все последовательные чередования символов входят в список команд и операций языка программирования. Это означает, что при трансляции программы не будут появляться сообщения об ошибках. Однако правильный синтаксис не даёт гарантии правильной работы программы. Синтаксис представляет собой только одну составляющую языка. Другой составляющей является семантика. Под семантикой понимаются действия, которые кодируются различными синтаксическими конструкциями. То есть семантика описывает смысловое содержание синтаксиса.
Синтаксис в информатике и программировании
Целью составителя программы является получение необходимого итогового результата, который получается при выполнении программы на каком-то устройстве. Но при работе над программой, для программиста она является некой абстракцией, которая никак не связана с конкретным оснащением. Поэтому моделированием вычислительных особенностей языка программирования может считаться абстрактный вычислитель, заданный синтаксическим описанием языка. Это положение можно так же подкрепить тем, что компиляция и выполнение программы возможно произвести на различном конкретном оборудовании. По этой логике моделью программы считается её синтаксический абстрактный образ, а не конкретное вычислительное устройство. Прагматика уже определяет конкретику абстрагированного вычисления под данную вычислительную систему.
Синтаксис программного языка является комплексом правил, которые описывают различные комбинационные варианты алфавитных символов. Они считаются программой или её компонентом с правильной структурой. Синтаксису языка может быть противопоставлена его семантика. Языковый синтаксис представляет собой голый язык, а семантика описывает действия разных синтаксических выражений. Все языки программирования обладают синтаксическим описанием, как разделом грамматики. Проверка синтаксиса программы осуществляется на первых этапах её трансляции. Если используется интерпретируемый язык программирования, то синтаксическая проверка осуществляется при её выполнении или при выполнении компиляции в промежуточные коды. Также проверку синтаксиса возможно делать прямо при коррекции исходного текста программы.
Синтаксические ошибки могут появиться, например, при неверном введении уравнений в программу, выполняющую вычисления. К примеру, открытые скобки не завершаются символом их закрытия, или вводятся подряд несколько десятичных разделителей(запятых).
Одной из особенностей синтаксиса считается рекурсивность или закон вложенности правил формирования структурных построений. Это означает, что компонент синтаксиса языка в своём описании непосредственно или в косвенном виде в какой-то части включает сам себя. К примеру, в формулировке термина оператор цикла, содержится фраза «телом цикла является оператор», его частным случаем будет тот же оператор цикла. Требуется безусловное следование правилам синтаксиса (правописания) программы. Например, в языке Паскаль существуют чётко расписанные правила применения отдельных знаков пунктуации. У точки с запятой (;) есть строго определённые места постановки, это в окончании заголовка программы, в окончании раздела описи переменных, а также после любого оператора. Но она не ставится перед командой End. У запятой (,) есть функция разделения компонентов в различных списках. Это списки переменных в разделе описания, списках данных ввода и вывода.
Соблюдение строгих правил программного синтаксиса требуется главным образом для программы трансляции. Транслятором является исполняемая в формализованном режиме программа. К примеру, в качестве разделителя переменных в списке всегда обязана использоваться запятая, и если там стоит любой другой знак препинания, то транслятор посчитает это ошибкой. Или если операторы должна разделять точка с запятой, то программа трансляции будет считать оператором весь текстовый фрагмент между одной и другой точкой с запятой. Если этот знак не установлен по каким-либо причинам между парой операторов, то они будут восприняты транслятором как один оператор, что ведёт к появлению ошибки.
Главное предназначение правил синтаксиса заключается в придании безальтернативного и однозначного смысла структурным построениям языка программирования. Если существует возможность трактовать по-разному какой-то фрагмент текста программы, то это в обязательном порядке означает наличие ошибки. Поэтому опытные программисты привыкли доверять не своей интуиции, а только знанию языковых правил. Но для того, чтобы описать синтаксис программного языка, тоже требуется свой специальный язык. Он носит название метаязыка или надъязыка, который служит для формирования описаний разных языков программирования. Самым известным метаязыком в области программирования считаются металингвистические формулы Бекуса – Наура (сокращённо БНФ) и диаграммы синтаксиса. Формат диаграмм синтаксиса очень наглядный и его не трудно понять. В языке БНФ любое понятие из сферы синтаксиса может быть представлено как формула, которая состоит из левой и правой частей, разделённых символами ::=. Смысловое значение этих символов равнозначно терминологии «по определению есть». В левой части пишется имя понятия, подлежащего определению, оно помещается в угловые скобки . А справа располагается диаграмма или формула, которая определяет все возможные значения метапеременной.