Препроцессор буйруқлари ва уларнинг бажарилиш босқичлари
Си тили интеграллашган мухити ёки компилятори таркибига препроцессорлар зарурий компонент сифатида киритилган. Препроцессор вазифаси – дастлабки программа матнини компиляцияга қадар қайта ишлашдан иборат.
Препроцессор қайта ишлаш босқичлари. Препроцессорли қайта ишлаш бир нечта босқичлардан иборат. Препроцессор қайта ишлаш босқичлари қуйидагилардан иборат:
барча тизимга боғлиқ белгилар матн охирида стандарт кодга айлантирилади;
Хар бир ‘\’ символлар жуфтлиги ва сатр охири орасидаги пробеллар ўчирилади бунда кейинги сатр билан боғланиш амалга оширилади;
Матнда препроцессор директиваси ва лексемаси аниқланади, ҳар бир изоҳ битта бўш жой билан ажратилади.
Матнда препроцессор директиваси ва лексемаси аниқланади, ҳар бир изоҳ битта бўш жой билан ажратилади.
Препроцессор директиваси бажарилганда макро жойлаш амалга ошади ; Символли ўзгармаслар ва сатрлардаги эскейп кетма кетликлар, масалан, ‘\n’ ёки ‘\xF2’ мос сонли кодга алмаштирилади.
Аралаш символли сатрлар битта сатрга бирлаштирилади;
Ҳар бир препроцессор лексемаси Си тилига угирилади.
(preprocessing token) Препроцессор лексемаси тушунчасига аниқлик киритамиз. Бунга символли ўзгармаслар, файллар номи, идентифи-каторлар, амал белгилари, тиниш белгилари, сатр ўзгармаслар бунга бўш жойлар кирмайди. Юқорида танишиб чиқган препроцессор бажарилиш босқичлари тилнинг синтаксис каби қайта ишланади. Масалан кетма кет берилган иккита сатр символлари “/” ёрдамида ажратилган бўлса, буни битта сатр деб тушунади. Бирлаштирилган сатрлар алохида юқорида келти-рилган қоидалар бўйича қайта ишланади.
Препроцессор директивалари бажарилиш босқичлари билан батавсил танишамиз. Препроцессор бажарилишида қуйидаги амаллар бўлиши мумкин :
Препроцессор директивалари бажарилиш босқичлари билан батавсил танишамиз. Препроцессор бажарилишида қуйидаги амаллар бўлиши мумкин :
олдиндан тайёрланган символлар кетма кетлиги билан идентификаторларни алмаштириш ;
дастурдан баъзи қисмларни олиб ташлаш (шартли компиляция) ;
Препроцессор ёрдамида таркиблаштирилган макро жойлаш маълум параметрлар воситасида амалга оширилади .
Препроцессор директивалари. Препроцессор бошқариши учун, керакли амални бажариш учун, унинг ҳар бир командаси алохида сатрда ва “ #” символ билан бошланиши керак.