計算機宏

所謂宏,就是一些命令組織在一塊兒,做爲一個單獨命令完成一個特定任務。Microsoft Word中對宏定義爲:「宏就是能組織到一塊兒做爲一獨立的命令使用的一系列word命令,它能使平常工做變得更容易」。Word使用宏語言Visual Basic將宏做爲一系列指令來編寫。 計算機科學裏的宏是一種抽象的,根據一系列預約義的規則替換必定的文本模式。Excel辦公軟件自動集成了「VBA」高級程序語言,用此語言編制出的程序就叫「宏」。使用「VBA」須要有必定的編程基礎,而且還會耗費大量的時間,所以,絕大多數的使用者僅使用了Excel的通常製表功能,不多使用到「VBA」。 解釋器或編譯器在遇到宏時會自動進行這一模式替換。對於編譯語言,宏展開在編譯時發生,進行宏展的工具常被稱爲宏展開器。宏這一術語也經常被用於許多相似的環境中,它們是源自宏展開的概念,這包括鍵盤宏和宏語言。絕大多數狀況下,「宏」這個詞的使用暗示着將小命令或動做轉化爲一系列指令。 宏的用途在於自動化頻繁使用的序列或者是得到一種更強大的抽象能力--但這經常是一回事。 計算機語言如C或彙編語言有簡單的宏系統,由編譯器或彙編器的預處理器實現。C的宏預處理器的工做只是簡單的文本搜索和替換,使用附加的文本處理語言如M4,C 程序員能夠得到更精巧的宏。 Lisp類語言如Common Lisp和Scheme有更精巧的宏系統: 宏的行爲如同是函數對自身程序文本的變形,而且能夠應用所有語言來表達這種變形。一個C宏能夠定義一段語法的替換,然而一個Lisp的宏卻能夠控制一節代碼的計算。得到了控制代碼的執行順序(見惰性計算和非限制函數)的能力,使得新建立的語法結構與語言內建的語法結構不可區分。例如,一種Lisp 方言有 cond 而沒有if ,就可使用宏由前者定義後者。Lisp 語法的去部主要擴展,好比面向對象的CLOS 系統,能夠由宏來定義。程序員

相關文章
相關標籤/搜索