C++ CSS HTML Java JavaScript MySQL Oracle PERL PHP SQL Unix VBScript XHTML XML Сети
Справочное руководство. Краткое Изложение Синтаксиса.
 
                  
              14. Краткое Изложение Синтаксиса

     Эта краткая сводка синтаксиса С++ предназначается, чтобы
способствовать пониманию.  Она не является точной формулиров-
кой языка.


                       14.1 Выражения

  выражение:
      терм
      выражение бинарная_операция выражение
      выражение ? выражение : выражение
      список_выражений


  список_выражений:
      выражение
      список_выражений , выражение


   )
      new имя_типа инициализатор opt
      new ( имя_типа )
      delete выражение
      delete [ выражение ] выражение


  первичное_выражение:
      id
      :: идентификатор
      константа
      строка
      this
      ( выражение )
      первичное_выражение[ выражение ]
      первичное_выражение ( список_выражений opt )
      первичное_выражение.id
      первичное_выражение->id


  id:
      идентификатор
      typedef-имя :: идентификатор
      typedef-имя :: имя_функции_операции


  операция:
      унарная_операция
      бинарная_операция
      специальная_операция
      операция_свободной_памяти


     Бинарные операции имеют приоритет, убывающий в указанном
порядке:






  бинарная_операция: одна из
      * / %
      + -
      << >>
      < >
      == !=
      &
      ^
      !
      &&
      !!
      операция_присваивания


  операция_присваивания: одна из
      = += -= *= /= %= ^= &= != >>= <<=


   унарная_операция: одна из
       * & + - ~ ! ++ --


  специальная_операция: одна из
      () []

  операция_свободной_памяти: одна из
      new delete


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


  простое_имя_типа:
      typedef-имя
      char
      short
      int
      long
      unsigned
      float
      double
      void




  typedef-имя:
      идентификатор


                        14.2 Описания

  описание:
      спецификаторы_описания opt список_описателей opt ;
      описание_имени
      asm-описание


  описание_имени:
      сост идентификатор ;
      enum идентификатор ;


  сост:

      class
      struct
      union


  asm-описание:
      asm ( строка ) ;


  спецификаторы_описания:
      спецификатор_описания спецификаторы_описания opt


  спецификатор_описания:
      спецификатор_класса_памяти
      спецификатор_типа
      спецификатор_функции
      typedef
      friend

  спецификатор_типа:
      простое_имя_типа
      спецификатор_класса
      спецификатор_enum
      усложненный_спецификатор_типа
      const


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


  спецификатор_функции:
      inline
      overload
      virtual


  усложненный_спецификатор_типа:
      ключ typedef-имя
      ключ идентификатор


  ключ:
      class
      struct
      union
      enum


  список_описателей:
      иниц-описатель
      иниц-описатель , список_описателей


  иниц-описатель:
      описатель инициализатор opt


  & const opt описатель
      описатель ( список_описаний_параметров )
      описатель [ константное_выражение opt ]


  оп_имя:
      простое_оп_имя
      typedef-имя :: простое_оп_имя

  простое_оп_имя:
      идентификатор
      typedef-имя
      ~ typedef-имя
      имя_функции_операции
      имя_функции_преобразования


  имя_функции_операции:
      operator операция

  имя_функции_преобразования
      operator тип


  список_описаний_параметров:
      список_описаний_прм opt ... opt

  список_описаний_прм:
      список_описаний_прм , описание_параметра
      описание_параметра


  описание_параметра:
     спецификаторы_описания описатель = выражение
     спецификаторы_описания описатель = константное_выражение
     спецификаторы_описания абстракт_описатель = выражение
     спецификаторы_описания абстракт_описатель = выражение

  спецификатор_класса:
      заголовок_класса (* список_членов opt *)
      заголовок_класса (* список_членов opt public :
                         список_членов opt *)

  заголовок_класса:
      сост идентификатор opt
      сост идентификатор opt : public opt typedef-имя


  список_членов:
      описание_члена список_членов opt

  описание_члена:
      спецификаторы_описания opt описатель_члена
            инициализатор opt ;
      определение_функции opt


  описатель_члена:
      описатель
      идентификатор opt : константное_выражение


  инициализатор:
      = выражение
      = (* список_инициализаторов *)
      = (* список_инициализаторов , *)
      ( список_выражений )


  список_инициализаторов:
      выражение
      список_инициализаторов , список_инициализаторов
      (* список_инициализаторов *)


  спецификатор_enum:
      enum идентификатор opt (* enum-список *)


  enum-список:
      перечислитель
      enum-список , перечислитель


  перечислитель:
      идентификатор
      идентификатор = константное_выражение


                       14.3 Операторы


  составной_оператор:
      (* список_операторов opt *)


  список_операторов:
      оператор
      оператор список_операторов


   оператор while ( выражение ) ;
      for ( оператор выражение opt ; выражение opt ) оператор
      switch ( выражение ) оператор
      case константное_выражение : оператор
      default : оператор
      break ;
      continue ;
      return выражение opt ;
      goto идентификатор ;
      идентификатор : оператор


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

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


  внешнее_определение:
      определение_функции
      описание


  определение_функции:
      спецификаторы_описания opt описатель_функции
  инициализатор_базового opt тело_функции

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


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


  инициализатор_базового:
      : ( список_инициализаторов_членов opt )

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


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


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

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

Главная