概述
目前,世界上已經開發了近百個Modula-2編譯系統。歐洲、加拿大、澳大利亞等不少大學已經用Modula一2代替PASCAL語言作為計算機科學系本科生的第一門程式設計課。
1984年英國標準化學會開始進行Modula一2標準化工作,國際標準化工作始於1987年(ISO/IECJICl/SC 22 WG 13),標準化的一個新穎和重要的方面是首次採用形式化方法,用形式化定義(VDM-SL和擴充的BNF)來表達語言各成分的語法和語義。並伴以自然語言規約語句和注釋。
Modula一2語言是一種高功效的通用系統程式設計語言,其設計的宗旨之一就是為多處理機系統的程式設計服務。該語言很好地綜合了PASCAL,Modula語言的基本特色。它既可以用來進行完全不依賴具體計算機的高級語言程式設計,又可用於比較低級的關於內部系統的程式設計。特別值得指出的是,Modula一2語言對於並發進程和協同子程式方面的支持,使其更適用於多微處理機系統的通用程式的設計。
Modula一2語言文本篇幅不長,易讀,易懂。編譯程式也不長,它提供了模組化的結構和簡明的語句。因此用它編寫的程式有很強的表達能力,且易於移植。
特點
(1)模組性在Modula一2中,把模組分成兩個語法成分,即定義性模組和實現性模組,並把那些在模組外可見的對象列在一個明顯的移出表中,在模組內引用模組外的對象列在移入表中。Modula一2的模組設施有利於實現模組的分別編譯。
(2)良好的控制結構,每個控制結構都以關鍵字結尾,可避免歧義性,減少不必要的“BEGIN”。提供了豐富的循環控制結構。特別引進
LOOP和EXIT語句,可以較方便地代替
GOTO語句。
(3)輸入輸出功能由一組模組來實現,這組模組的層次結構反映了輸入輸出功能的多種抽象級別。
(4)與機器和實現有關的低級設施放在偽模組SYSTEM中,可在高級語言級上實現。
(5)提供一個層次較高的模組Processes和協同程式,有利於實現並發處理。