C++ CSS HTML Java JavaScript MySQL Oracle PERL PHP SQL Unix VBScript XHTML XML Сети
Сводка синтаксических правил
 

Сводка синтаксических правил.


Выражения.

Основными выражениями являются следующие:

Выражение :
первичное-выражение
* выражение
& выражение
- выражение
! выражение
~ выражение
++ l-значение
-- l-значение
l-значение ++
l-значение --
sizeof выражение
(имя типа) выражение
выражение бинарная-операция выражение
выражение ? выражение : выражение
l-значение операция-присваивания выражение
выражение , выражение

Первичное выражение :
идентификатор
константа
строка
(выражение)
первичное-выражение (список выражений необ )
первичное-выражение [выражение]
l-значение . идентификатор
первичное-выражение -> идентификатор

l-значение :
идентификатор
первичное-выражение [ выражение ]
l-значение . идентификатор
первичноe-выражение -> идентификатор
* выражение
( l-значение )

Операции первичных выражений

 () [] . ->

 * & - ! ~ ++ -- sizeof(имя типа)

Перевод.: условная операция группируется справа налево; этоизменение внесено в язык в 1978 г.) группируются слева направо и ихприоритет убывает в следующем порядке:
бинарная операция :
* / %
+ -
>> <<
< > <= >=
== !=
&
~
|
&&
||
?:

Операции присваивания :
= += -= *= ?= %= >>= <<= &= ~= |=


Описания.

Описание :
спецификаторы-описания список-инициализируемых-описателей необ ;

Спецификаторы-описания :
спецификатор-типа спецификаторы-описания необ
спецификатор-класса-памяти спецификаторы-описания необ

Спецификатор-класса-памяти :
auto
static
extern
register
typedef

Спецификатор-типа :
char
short
int
long
unsigned
float
double
спецификатор-структуры-или-об'единения
определяющее-тип-имя

Список-инициализируемых-описателей :
инициализируемый-описатель
инициализируемый-описатель ,
список-инициализируемых-описателей

инициализируемый-описатель
описатель-инициализатор необ

Описатель :
идентификатор
( описатель )
* описатель
описатель ()
описатель [константное выражение необ ]

Спецификатор-структуры-или-об'единения :
struct список-описателей-структуры
struct идентификатор { список-описаний-структуры }
struct идентификатор
union { список-описаний-структуры }
union идентификатор { список-описаний-структуры }
union идентификатор

Список-описаний-структуры :
описаниe-структуры
описаниe-структуры список-описаний-структуры

Описание структуры :
спецификатор-типа список-описателей-структуры :

Список-описателей-структуры :
описатель-структуры
описатель-структуры , список-описателей-структуры

Описатель-структуры :
описатель
описатель : константное выражение
:константноe-выражение

Инициализатор :
= выражение
= { список-инициализатора }
= { список-инициализатора ,}

Список инициализатора :
выражение
список-инициализатора , список-инициализатора
{ список-инициализатора }

Имя-типа :
спецификатор-типа абстрактный-описатель

Абстрактный-описатель :
пусто
{ абстрактный-описатель }
* абстрактный-описатель
абстрактный-описатель ()
абстрактный-описатель [константноe-выражение необ ]

Определяющее-тип-имя :
идентификатор


Операторы

Составной-оператор :
{ список-описаний необ список-операторов необ }

Список-описаний :
описание
описание список-описаний

Список-операторов :
оператор
оператор список-операторов

Оператор :
составной оператор
выражение ;
if ( выражение ) оператор
if ( выражение ) оператор else оператор
while ( выражение ) оператор
do оператор while ( выражение );
for ( выражениe-1 необ ; выражениe-2 необ ; выражениe-3 необ ) оператор
switch ( выражение ) оператор
case константноe-выражение : оператор
default : оператор
break ;
continue ;
return ;
return выражение ;
goto идентификатор;
идентификатор : оператор
;


Внешние определения

Программа :
внешнее-определение
внешнее-определение программа

Внешнеe-определение :
определениe-функции
определениe-данных

Определениe-функции :
спецификатор-типа необ описатель-функции тело-функции

Описатель-функции :
описатель ( список-параметров необ )

Список-параметров :
идетификатор
идентификатор , список-параметров

Тело-функции :
список-описаний-типа оператор-функции

Оператор-функции :
{ список описаний необ список-операторов }

Определение данных :
extern необ спецификатор-типа необ список-инициализируемых-описателей необ ;
static необ спецификатор-типа необ список-инициализируемых-описателей необ ;


Препроцессор

#define идентификатор строка-лексем

#define идентификатор(идентификатор,...,идентификатор)строка-лексем
#undef идентификатор
#include "имя-файла"
#include <имя-файла>
#if константноe-выражение
#ifdef идентификатор
#ifndef идентификатор
#else
#endif
#line константа идентификатор

[Назад] [Содержание]

Главная