Конспект установочных лекций по комплексному курсу Информатика, Теория информации

       

Синтаксис выражений и примитивных вычислительных структур


Теперь вводится формальный и язык выражений (англ. expression)

в программах. Язык выражения it БНФ-нотации описывается следующим образом:

<выражение> ::= <id>|
|<указатель_функции>|

<условное_выражение>| (<выражение>)|

<одноместная_операция><выражение>|

<выражение><двуместная_операция><выражение>|

<секция>

<одноместная_операция>::= -|

<двуместная_операиция>::=+| -| *| /|<| <=| = | >|>= | ^| v| ==>| <==|<==>|

Таким образом, выражение - это идентификатор (id), указатель функции. условное выражение или выражение в инфиксной или префиксной форме записи. Синтаксическая единица <секция> служит для введения локальных объявлений.

БНФ-правила описывают синтаксическую структуру выражений. Помимо этого требуется, еще ряд дальнейших синтаксических условий (контекстных условий). В дальнейшем, кроме всего прочего, будет предполагаться, что каждому выражению рассматриваемого ЯП предписывается точно один тип значений (в общем случае в зависимости от типов, предписанных используемым идентификаторам). Эти типы характеризуют множество элементов, рассматриваемых в качестве значений выражений. ЯП с этим свойством называются также сильно типизированными языками. Благодаря сильной типизации может быть механически обнаружен ряд ошибок программиста, приводящих к выражениям, которым невозможно приписать какой-либо определенный тип значений. Кроме того, типизация поддерживает более сильную структурированность программ. Условия типизации являются примерами контекстных условий.

 



Содержание раздела