Синтаксис языка программирования

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

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

Синтаксис языка программирования обычно задается комбинацией регулярных выражений и метасинтаксического языка, такого как нотация Бэкуса-Наура , которая дает синтаксис языка в форме, показанной в следующем примере:

< сумма > :: = < слагаемое > + < слагаемое >

< слагаемое > :: = < константа > | < переменная >

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

Ниже приведен простой пример синтаксиса, основанный на языке программирования Lisp :

  • выражение :: = атом | список
  • атом :: = число | условное обозначение
  • число :: = [+ -]? [‘0’ — ‘9’] +
  • символ :: = [‘A’ — ‘Z»a’ — ‘z’]. *
  • список :: = ‘(‘ выражение * ‘)’

В этой грамматике указывается следующее:

термин — либо атом, либо лист ;

атом — это либо число, либо символ ;

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

символ — это буква, за которой следует ноль или более любых символов (пробелы исключены); в

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

Примеры правильно сформированной последовательности токенов в этом синтаксисе: ‘ 12345’, ‘ ()’, ‘ (a b c232 (1))’

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

Грамматика, необходимая для определения языка программирования, может быть классифицирована в соответствии с ее положением в иерархии Хомского . Синтаксис большинства языков программирования можно определить как использование грамматики типа 2, т.е. Контекстно-свободной грамматики. Некоторые языки, включая Perl и Lisp конструкции vsbujejo, которые позволяют реализовать фазу синтаксического анализа ( синтаксический анализатор ). Языки, содержащие конструкции, позволяющие программисту изменять поведение парсера кода, выполняют синтаксический анализ для неопределимой проблемы и, как правило, стирают различие между синтаксическим анализом и выполнением кода.

Show Buttons
Hide Buttons