| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
слова, идентификаторы, константы, строковые литералы, опера-
ции и знаки пунктуации (также называемые разделителями).
Формальное описание лексемы имеет следующий вид:
лексема:
ключевое слово
идентификатор
константа
строковый литерал
операция
знак пунктуации
Во время лексического анализа исходного кода лексемы
выделяются методом, при котором из строки символов обяза-
тельно выбирается лексема максимальной длины. Например, сло-
во external будетрассматриваться как отдельный идентифика-
тор, а некак ключевое слово extern, за которым следует
идентификатор al.
Ключевые слова
Ключевыми словами называются слова, зарезервированныед-
ля специальных целей, которые не должны использоваться в ка-
честве обычных имен идентификаторов. В следующих двух табли-
цах приводятся ключевые слова Turbo C++. Вы можете
использовать опции компилятора командной строки (или опции в
IDE), чтобы выбрать только ключевые словаANSI, ключевые сло-
ва UNIX и т.д. Информацию об этих опциях см. в главах 1,
"Справочник IDE", и 4, "Компилятор командной строки" в Руко-
водстве пользователя.
Все ключевые слова Turbo C++ Таблица 1.1
-----------------------------------------------------------
asm _ds interrupt short
auto else _loadds signed
break enum long sizeof
case _es near _ss
catch _export new static
cdecl extern operator struct
char far pascal switch
class float private template
const for protected this
continue friend public typedef
_cs goto register union
default huge _regparam unsigned
delete if return virtual
do inline _saverages void
double int _seg volatile
while
-----------------------------------------------------------
Расширения Turbo C++ относительно ANSI C Таблица 1.2
-----------------------------------------------------------
cdecl _export _loadds _saveregs
_cs far near _seg
_ds huge pascal _ss
_es interrupt _regparam
-----------------------------------------------------------
- 12 -
Ключевые слова, специфичные для C++ Таблица 1.3
-----------------------------------------------------------
catch friend operator public
class inline private template
delete new protected this
virtual
-----------------------------------------------------------
Регистровые псевдопеременные Turbo C++ Таблица 1.4
-----------------------------------------------------------
_AH _BL _CL _DL
_AL _BP _CX _DX
_AX _BX _DH _FLAGS
_BH _CH _DI _SI
_SP
-----------------------------------------------------------
Идентификаторы
Формальное определение идентификатора имеет следующий вид:
идентификатор:
не-цифра
идентификатор не-цифра
идентификатор цифра
не-цифра: одно из
a b c d e f g h i j k l m n o p q r s t u v w x y z _
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
цифра: одно из
0 1 2 3 4 5 6 7 8 9
Ограничения состава и длины идентификаторов
Идентификаторы представляют собой произвольные имена
любой длины, присваиваемыеклассам, объектам, функциям,пере-
менным, определяемым пользователем типам данных ит.д. Иден-
тификаторы могут содержать буквы от A до Z и от a до z, сим-
вол подчеркивания (_) и цифры от 0 до 9. Существует только
два ограничения:
1. Первый символ должен являться буквой или символом
подчеркивания.
Отметим, что идентификаторы в Turbo C++ значимы до лю-
бой длины.
2. По умолчанию Turbo C++ распознает только первые 32
символа в качестве значимых. Число значимых символов может
быть уменьшено при помощи меню или опций командной строки,
но не может быть увеличено. Используйте опцию -In TCC, либо
опцию меню O\!C\!S\!Identifier Length, где 1 <= n <= 32.
Идентификаторы и учет регистра
Идентификаторы в Turbo C++ учитывают регистр, и таким
образом, Sum, sum и suM - это различные идентификаторы.
Глобальные идентификаторы, импортируемые из других мо-
дулей, подчиняются тем же правилам наименования и длины зна-
чимости имени, что и обычные идентификаторы. Однако, Turbo C
++ включает в себя опциюподавления учета регистра, обеспечи-
вающую совместимость при компоновке с модулями на языках, не
учитывающих регистр. Можно отменить учет регистра для гло-
бальных идентификаторов, установив в диалоговом поле Linker
в соответствующее состояние поле Options \! Linker \!
- 13 -
Case-Sensitive Link,либо использовав опцию командной строки
/C при запуске TLINK. В таком режиме глобальные имена Sum и
sum рассматриваются как идентичные, и при компоновке может
быть выдано предупреждение "Duplicate symbol" ("Повторяющие-
ся символические имена").
Исключение из этих правил составляютидентификаторы типа
pascal, которые при компоновке всегда преобразовываются к
верхнему регистру.
Уникальность и контекст идентификаторов
Хотя имена идентификаторов могут быть произвольными (в
пределах изложенных правил), в случае использования одного и
того же имени для более чем одногоидентификаторав пределах
одного контекста и разделении имиодногопространства имен
возникает ошибка. Повторение имен в различных пространствах
имен допустимо всегда, независимо от контекста. Правила
рассматриваютсяпри обсуждении контекста, начиная со стр. 29
оригинала.
Константы
Константами называются лексемы, представляющие собой
фиксированные числовые или символьные значения. TurboC++
поддерживает четыре классаконстант: сплавающей точкой, цело-
численные, перечислимого типа и символьные.
Тип данных константы определяется компилятором по таким
ключевым характеристикам, как числовое значениеи формат, ис-
пользуемые при записи константы в исходном коде. Определение
формата константы показано в следующей таблице:
Константы - определение формата Таблица 1.5
-----------------------------------------------------------
константа:
константа-с-плавающей-точкой
целочисленная-константа
перечислимая-константа
символьная-константа
константа-с-плавающей-точкой:
дробная-константа <экспоненциальная-часть> <суф-
фикс-константы-с-плавающей-точкой>
последовательность-цифр экспоненциальная часть <суф-
фикс-константы-с-плавающей-точкой>
дробная константа:
<последовательность-цифр>.<последовательность-цифр>
<последовательность-цифр>.
экспоненциальная-часть:
e <знак> последовательность-цифр
E <знак> последовательность-цифр
знак: одно из
+ -
последовательность-цифр:
цифра
последовательность-цифр цифра
суффикс-константы-с-плавающей-точкой: одно из
f l F L
целочисленная-константа:
десятичная-константа <суффикс-целочисленной-константы>
|
adfun.ru
|
|
|
|