Նախապրոցեսորը համակարգչային ծրագիր է, որն իր մուտքին տրված տվյալները մշակում է և տվյալներ է ստեղծում մեկ այլ ծրագրի (օրինակ՝ կոմպիլյատորի) մուտքին տալու համար։ Ծրագրի ելքում ստեղծված տվյալները կախված են պրեպրոցեսորի բնույթից։ Որոշ պրեպրոցեսորներ կարող են կատարել միայն պարզ տեքստային փոխարինումներ, մյուսները կարող են համեմատվել ծրագրավորման լեզուների հետ։ 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 կոդի նախնական մշակման համար։[1].
  • m4 միկրոպրոցեսորի կամ C-ի պրեպրոցեսորի օգտագործումը HTML շաբլոններ գեներացնելու համար[2]։
  • imake (от interface make)-ը օգտագործում է C-ի պրեպրոցեսոր . Օգտագործվել է X Window համակարգում մինչ automake-ի անցումը։
  • grompp —միկրոպրոցեսոր GROMACS նախագծի ֆայլերի համար (բաց կոդով ծրագիր հաշվողական քիմիայի խնդիրներ լուծելու համար)։ Լռելայնությամբ օգտագործում է C պրեպրոցեսոր, բայց ֆայլի մոդելում կարելի է օգտագործել այլ ցանկացած պրեպրոցեսոր։ Օգտագործում է #define и #include դիրեկտորիաներ։

Արտաքին հղումներԽմբագրել

ԾանոթագրություններԽմբագրել

  1. T. Snyder. JavaScript is Not Industrial Strength Как использовать препроцессор Си для JavaScript-кода
  2. J. Korpela. Using a C preprocessor as an HTML authoring tool 2000.