Պրեպրոցեսոր

Նախապրոցեսորը համակարգչային ծրագիր է, որն իր մուտքին տրված տվյալները մշակում է և տվյալներ է ստեղծում մեկ այլ ծրագրի (օրինակ՝ կոմպիլյատորի) մուտքին տալու համար։ Ծրագրի ելքում ստեղծված տվյալները կախված են պրեպրոցեսորի բնույթից։ Որոշ պրեպրոցեսորներ կարող են կատարել միայն պարզ տեքստային փոխարինումներ, մյուսները կարող են համեմատվել ծրագրավորման լեզուների հետ։ C++/C լեզուները և տեքստերի համակարգչային շարվածքի համար նախատեսված TeX գործիքը օգտագործում են իրենց բազային հնարավորություններն ընդլայնող պրեպրոցեսորներ։

Բառային (լեքսիկական) պրեպրոցեսորներ
Բառային են անվանվում ցածր մակարդակի պրեպրոցեսորները, որովհետև նրանք պահանջում են միայն բառային վերլուծություն։ Ստացվում է, որ նրանք տեքստը մշակում են շարահյուսական վերլուծությունից (parsing) առաջ՝ փոխարինելով լեքսեմը (կամ այլ հատուկ նշաններ) օգտագործողի կողմից սահմանված սիմվոլներովով՝ օգտագործողի կողմից սահմանված օրենքններով։

C և C++ լեզուների պրեպրոցեսորը 
C ծրագրավորման լեզվում պրեպրոցեսորն ունի լայն կիրառություն։ Այն կոդից հեռացնում է մեկնաբանությունները և կատարում այն հատվածները, որոնք սկսում են «#» նշանով (ինչպիսիք են #include, #define և այլն)։

PHP ծրագրավորման լեզու 
PHP լեզուն առավել հաճախ օգտագործվում է վեբ-էջեր ստեղծելու համար։ Տեքստը գրեթե չի փոփոխվում։ Միակ բացառությունը <?php սկզբում, և ?> վերջում հրամանների համար է։
Ընթացիկ ժամանակը որոշող կոդի օրինակ.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ընթացիկ ժամանակը</title>
<head>
<body>
<h1>Ընթացիկ ժամանակը/h1>
 <?php
   print strftime('Հիմա %H ժամ, %M րոպե %S վայրկյան');
 ?>
</body>
</html>
PHP պրեպրոցեսորը նշված հատվածը կփոխարինի հետևյալով.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ընթացիկ ժամանակը</title>
<head>
<body>
<h1>Ընթացիկ ժամանակը</h1>
 Հիմա 10 Ժամ, 15 րոպե 20 վայրկյան
</body>
</html>

Շարահյուսական պրեպրոցեսրներ
Շարահյուսական պրեպրոցեսրները առաջին անգամ ներդրվել են Լիսպ լեզուների ընտանիքում։ Նրանց դերն այն էր, որ օգագործողի պահանջներին համապատասխան կառուցվեր շարահյուսական ծառը։ Շարահյուսական պրեպրոցեսրները հիմնականում օգտագործվում են լեզվի շարահյուսության հստակեցման և պարզ բաղադրիչների ավելացման միջոցով լեզվի ընդլայնման համար։

Օրինակներ 

C-ի պրեպրոցեսորի օգտագործումը JavaScript կոդի նախնական մշակման համար։.
m4 միկրոպրոցեսորի կամ C-ի պրեպրոցեսորի օգտագործումը HTML շաբլոններ գեներացնելու համար։
 imake (от interface make)-ը օգտագործում է C-ի պրեպրոցեսոր . Օգտագործվել է X Window համակարգում մինչ automake-ի անցումը։
 grompp —միկրոպրոցեսոր GROMACS նախագծի ֆայլերի համար (բաց կոդով ծրագիր հաշվողական քիմիայի խնդիրներ լուծելու համար)։ Լռելայնությամբ օգտագործում է C պրեպրոցեսոր, բայց ֆայլի մոդելում կարելի է օգտագործել այլ ցանկացած պրեպրոցեսոր։ Օգտագործում է #define и #include դիրեկտորիաներ։

Արտաքին հղումներ 
 DSL Design in Lisp
 Программирование снизу вверх
 The PIKT piktc  text, script, and configuration file preprocessor

Ծանոթագրություններ 

Ծրագրային ապահովում