程式設計環境中語言設計的影響是什麼?
程式設計環境通常在兩個主要方面影響語言設計,例如促程序序從元件進行單獨編譯和組裝的功能,以及輔助程式測試和除錯的功能。
單獨編譯 - 在任何大型程式的結構中,通常希望多個程式設計師或程式設計小組設計、編碼和測試程式的元素,然後再將所有元素最終組裝成一個完整的程式。這需要語言具有結構,以便單個子程式或其他元素可以單獨編譯和實現,而無需其他元素,然後可以組合成最終程式,而無需轉換。
單獨編譯由這樣一個事實構建的問題:在編譯一個子程式時,編譯器可能需要關於其他子程式或共享資料物件的資料,例如
對任何被呼叫子程式期望的引數數量、順序和型別進行要求,使編譯器能夠測試對外部子程式的呼叫是否準確。編碼不同子程式的語言也可能需要已知,以便編譯器可以設定合適的“呼叫序列”指令,以便在實現過程中以該子程式的正常形式與外部子程式共享資料和控制資料。
對任何被引用的變數的資料型別進行宣告,需要允許編譯器確定外部變數的儲存表示,以便可以使用適合該變數的訪問規則(例如,公共環境塊內的正確偏移量)來編譯引用。
對外部表示的資料型別的定義,但可以在子程式內部宣告一些區域性變數,需要使編譯器能夠為區域性資訊分配儲存空間並評估訪問規則。
測試和除錯 - 大多數語言都包含一些功能來輔助程式測試和除錯。一些例子如下:
執行跟蹤功能 - Prolog、LISP 和一些其他互動式語言支援能夠識別特定語句和變數以便在執行期間檢測的功能。
斷點 - 在互動式程式設計環境中,語言提供程式設計師可以確定程式中某些點作為斷點的功能。當在執行期間進入斷點時,程式的執行會被中斷,並且控制權會被傳遞到終端的程式設計師手中。程式設計師可以檢查和轉換變數的值,然後從中斷點恢復程式。
斷言 - 斷言是在程式中插入的條件表示式,作為單獨的語句,例如,assert (X>0 and A = 1) 或 (X=0 and A>B+10)。斷言陳述了在程式中該點變數的值之間應該存在的關係。