Предпроцесор
From Wikipedia, the free encyclopedia
Remove ads
Предпроцесорът или предкомпилатор е програма, която извършва предварителна (подготвителна) обработка на информацията преди нейното подаване към основния компилатор. Според сложността на обработката варира от прости заместителни макрос операции до сложни преработки, присъщи за пълноценните програмни езици.
За информацията в тази статия или раздел не са посочени източници. Въпросната информация може да е непълна, неточна или изцяло невярна. Имайте предвид, че това може да стане причина за изтриването на цялата статия или раздел. |
Почти всяка обработваща програма може да изпълнява функцията на предпроцесор, но като такъв се описват само тези, чиято функция се възприема като подготвителна, а не основна. Това означава, че една и съща програма може да изпълнява ролята на (основен, самостоятелен) процесор или предпроцесор в зависимост от нейното място и роля в конкретната обработка.
Remove ads
Лексикални предпроцесори
Лексикалните процесори извършват обработка на най-ниското, лексикално, ниво. Те рядко се използват самостоятелно и често изпълняват функцията на предпроцесори. Извършват прости заместителни операции. Най-често се реализират като макропроцесори.
Примери за лексикални предпроцесори са:
- Предпроцесорът на езика за програмиране C.
- m4 – макропроцесор с общо предназначение
Синтактични предпроцесори
При синтактичните предпроцесори правилата за трансформация взимат предвид синтактичната структура на входящите данни. Могат да служат за дефиниране или предефиниране на синтаксис с цел разширяване или специализиране на програмен език. Много от тях могат да се използват и като самостоятелни езикови процесори.
Примери за синтактични (пред)процесори са:
- Lisp и неговите производни имат вградена поддръжка на (синтактични) макроси. Разширяването на макросите се извършва от синтактичния анализатор на компилатора, преди процеса на същинската компилация. Затова в контекста на процеса на компилация това разширяване на макросите може да се разглежда като предпроцесорна обработка.
- OCaml също има възможност за дефиниране на собствен синтаксис.
- XSLT
Remove ads
Вижте също
- Процесор
- Макропроцесор
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads