Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lec18

.pdf
Скачиваний:
10
Добавлен:
12.02.2015
Размер:
940.95 Кб
Скачать

Пример обработки текста программы препроцессором.

Стадии препроцессорной обработки.

Препроцессорная обработка включает несколько стадий выполняемых последовательно.

Iвсе системно - зависимые обозначения (например системно - зависимый индикатор конца строки) перекодируются в стандартные коды;

Стадии препроцессорной обработки.

Препроцессорная обработка включает несколько стадий выполняемых последовательно.

Iвсе системно - зависимые обозначения (например системно - зависимый индикатор конца строки) перекодируются в стандартные коды;

Iкаждая из пар символом ’\’ и "конец строки"вместе с пробелами между ними убираются, и тем самым следующая строка исходного текста присоединяется к строке, в которой находилась эта пара символов;

Стадии препроцессорной обработки.

Препроцессорная обработка включает несколько стадий выполняемых последовательно.

Iвсе системно - зависимые обозначения (например системно - зависимый индикатор конца строки) перекодируются в стандартные коды;

Iкаждая из пар символом ’\’ и "конец строки"вместе с пробелами между ними убираются, и тем самым следующая строка исходного текста присоединяется к строке, в которой находилась эта пара символов;

Iв тексте (точнее, в тексте каждой отдельной строки) распознаются директивы и лексемы препроцессора, а каждый комментарий заменяется заменяется одним символом пустого промежутка;

Стадии препроцессорной обработки.

Препроцессорная обработка включает несколько стадий выполняемых последовательно.

Iвсе системно - зависимые обозначения (например системно - зависимый индикатор конца строки) перекодируются в стандартные коды;

Iкаждая из пар символом ’\’ и "конец строки"вместе с пробелами между ними убираются, и тем самым следующая строка исходного текста присоединяется к строке, в которой находилась эта пара символов;

Iв тексте (точнее, в тексте каждой отдельной строки) распознаются директивы и лексемы препроцессора, а каждый комментарий заменяется заменяется одним символом пустого промежутка;

Iвыполняются директивы препроцессора и производятся макроподстановки;

Стадии препроцессорной обработки (продолжение).

Iэскейп - последовательности в символьных константах и символьных строках , например ’\n’, ’\xF 2’ заменяются на их эквиваленты (на соответствующие числовые коды);

Стадии препроцессорной обработки (продолжение).

Iэскейп - последовательности в символьных константах и символьных строках , например ’\n’, ’\xF 2’ заменяются на их эквиваленты (на соответствующие числовые коды);

Iсмежные символьные строки (строковые константы) конкатенируются т.е. соединяются в одну строку;

Стадии препроцессорной обработки (продолжение).

Iэскейп - последовательности в символьных константах и символьных строках , например ’\n’, ’\xF 2’ заменяются на их эквиваленты (на соответствующие числовые коды);

Iсмежные символьные строки (строковые константы) конкатенируются т.е. соединяются в одну строку;

Iкаждая препроцессорная лексема преобразуется в текст на языке Си (к препроцессорным лексемам относятся символьные константы, имена включаемых файлов, идентификаторы, знаки операций, препроцессорные числа. знаки препинания, строковые константы (строки) и любые символы, отличные от пробела).

Стадия обработки директив препроцессора.

При ее обработке возможны следующие действия:

Iзамена идентификаторов (обозначений) заранее подготовленными последовательностями символов;

Стадия обработки директив препроцессора.

При ее обработке возможны следующие действия:

Iзамена идентификаторов (обозначений) заранее подготовленными последовательностями символов;

Iвключение в программу текстов из указанных файлов;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]