SETL語言

SETL語言

SETL語言(SETL language)是基於集合論的甚高級語言。它提供了描述有限集和元組及其有關操作和控制結構的手段,以提高開發功效,增加程式的易讀性。該語言由美國紐約大學J.T.Schwartz等人於1975年提出。

SETL語言以可移植的方式實現,已在IBM 370,DEC10和VAX,CDC 6600等機器上運行。在紐約大學、加州大學伯克萊分校等大學的課程教學中,學生們已使用SETL語言進行算法設計。

基本介紹

  • 中文名:SETL語言
  • 外文名:SETL language
  • 提出:美國紐約大學J.T.Schwartz
  • 套用:計算機
  • 學科:計算機技術
  • 提出時間 :1975年
內容簡介,功能,

內容簡介

SETL語言(SETL language)是基於集合論的甚高級語言。它提供了描述有限集和元組及其有關操作和控制結構的手段,以提高開發功效,增加程式的易讀性。該語言由美國紐約大學J.T.Schwartz等人於1975年提出。
過去半個世紀的數學經驗是SETL的主要依據之一。特別是數理邏輯基礎研究披露一種功能很強的公理化集合論。從基本概念開始,用這種理論的術語能迅速地建立起整個數學結構——從抽象代數到複雜的函式理論。SETL從它所模仿的集合論那裡繼承了同樣的優點。由於以通常的有限集合作為基本對象,SETL是一種甚高級語言。它包含有數據對象的複雜結構以及在這些複雜結構上的全局運算,把用戶從煩瑣的內部表示和程式最佳化中解放出來,使它們得以專心研究與自己的問題緊密相關的抽象結構及相互聯繫。加上“左方調用”、“流程語句”等有特色的語言成份,SETL成為程式設計語言之林中別具一格的成員。

功能

SETL在支持類PASCAL程式設計語言的大部分標準數據結構的基礎上,能夠支持集合和元組。SETL的集合必須是有限集,元組的元素個數也必須是有限的,但它們都可以任意嵌套,集合可以以枚舉的形式給出,也可以以|x in S|C}(即集合S中滿足條件C的所有元素構成的集合)的形式給出。集合上的操作包括並,交、差,對稱差、增添或刪除元素。元素的個數、任取一元素等。集合上的謂詞包括相等、屬於、子集等、元組是元素的有序序列,其操作包括並置,增添或刪除元素等,元組的謂詞有相等,屬於等。映射看成是二元組的集合,映射的操作包括取定義域,取值域、複合等。
SETL語言支持描述軟體規約的機制之一是它允許程式中使用全稱量詞和存在量詞,但這些量詞中的約束變元必須受限於某一有限集,即全稱和存在的含義是就該有限集而言的。
SETL的控制結構包括通常的條件,分情況,循環、轉移,還有其他與集合和元組有關的結構。與集合和元組有關的控制結構的基本形式為(for v in SIC)SS end,其含義是循環變數v依次取集合或元S中滿足條件C的值,執行語句SS。S為集合時v取值的次序任意,s為元組時依次取其元素的值。
SETL允許定義通常的過程,並支持模組定義及分別編譯。SETL提供一種表示語言,程式人員可用來指導SETL編譯程式如何實現特殊的集合。SETL編譯程式通過分析輸入的程式,確定其中集合、量詞、循環結構的實現方法。SETL通過提供集合、元組、映射等複合結構,增強了表達能力,給用戶的描述帶來方便,但代價是其編譯產生的目標程式的效率較差。
SETL語言以可移植的方式實現,已在IBM 370,DEC10和VAX,CDC 6600等機器上運行。在紐約大學、加州大學伯克萊分校等大學的課程教學中,學生們已使用SETL語言進行算法設計。

相關詞條

熱門詞條

聯絡我們