Кіріспе

Компьютерлік бағдарламалауда директива немесе прагма ("прагматикалық") – компилятордың (немесе басқа аудармашының) кірісін қалай өңдеу керектігін анықтайтын тілдік құрылым. Бағдарламалау тіліне байланысты директивалар тіл грамматикасының бөлігі болуы мүмкін немесе болмауы мүмкін, сондай-ақ компилятордан компиляторға өзгеше болуы мүмкін. Оларды алдын ала өңдегіш (препроцессор) компилятордың мінез-құлқын анықтау үшін өңдей алады немесе жолақты параметрлеудің бір түрі ретінде жұмыс істейді. Кейбір жағдайларда директивалар жаһандық мінез-құлықты анықтайды, ал басқа жағдайларда олар тек жергілікті бөлімге, мысалы, бағдарламалық код блогына ғана әсер етеді. Кейбір жағдайларда, мысалы, кейбір C бағдарламаларында директивалар компиляторға ерікті кеңес ретінде қарастырылып, елемеуге болады, бірақ көбінесе олар міндетті болып табылады және орындалуы керек. Дегенмен, директива тілдің өзінде ешқандай әрекет атқармайды, ол тек компилятордың мінез-құлқын өзгертеді. Бұл термин кодқа енгізілген үшінші тараптың меншік тегтері мен командаларына (немесе белгілеуге) сілтеме жасау үшін де қолданылуы мүмкін, бұл даму ортасындағы компилятор, ассемблер және тіл құрылымдарын кеңейтетін қосымша орындалатын өңдеуге әкеледі. "Директива" термині бұйрық терминіне ұқсас түрлі мағыналарда қолданылады.

C препроцессоры

C және C++ тілдерінде қарапайым макропроцессор қолдау көрсетіледі. #define және #include сияқты, алдын ала өңдеушімен өңделуге тиіс бастапқы код жолдары алдын ала өңдеуші директивалары деп аталады. C-тің тағы бір құрылымы, #pragma директивасы, компиляторға прагматикалық немесе жүзеге асыруға байланысты мүмкіндіктерді пайдалануға нұсқау беру үшін қолданылады. Бұл директиваны ең көп пайдаланатындар – OpenMP және OpenACC. C#-тың #if сияқты C-тің алдын ала өңдеуші директиваларына ұқсас синтаксистік құрылымдар да әдетте «директивалар» деп аталады, бірақ мұндай жағдайларда нақты алдын ала өңдеу фазасы болмауы мүмкін. Барлық алдын ала өңдеуші командалары хэш белгісімен (#) басталады, C++ тіліндегі импорт және модуль директиваларынан басқа.

Ассамблея тілі

Ассемблер тілінде директивалар, сондай-ақ псевдооперациялар немесе "псевдоопсиялар" деп те аталады, әдетте, нысаналық машина сияқты ақпаратты көрсетіп, код бөлімдері арасындағы шекараларды белгілейді, құрастыру уақытындағы айнымалыларды анықтайды және өзгертеді, макростарды анықтайды, шартты және қайталамалы кодты, резервтелген жад аймақтарын анықтайды және т.б. белгілейді. Кейбір, бірақ барлық емес, құрастырушылар псевдооперацияларды нұсқаулық мнемоникаларынан ажырату үшін арнайы синтаксис қолданады, мысалы, псевдооперацияның алдына нүкте қою арқылы, мысалы, END псевдооперациясы құрастырушыға кодты құрастыруды тоқтатуды бұйыруы мүмкін.

PL/SQL

Oracle корпорациясының PL/SQL процедуралық тілі "pragma" деп аталатын компилятор директивалары жиынтығын қамтиды.